summaryrefslogtreecommitdiffstats
path: root/source/a
diff options
context:
space:
mode:
Diffstat (limited to 'source/a')
-rwxr-xr-xsource/a/aaa_base/aaa_base.SlackBuild8
-rw-r--r--source/a/aaa_base/os-release8
-rw-r--r--source/a/aaa_base/slackware-version2
-rwxr-xr-xsource/a/aaa_elflibs/aaa_elflibs.SlackBuild45
-rwxr-xr-xsource/a/aaa_elflibs/display_orphans.sh44
-rw-r--r--source/a/aaa_elflibs/slack-desc4
-rw-r--r--source/a/aaa_elflibs/symlinks-to-tracked-libs36
-rw-r--r--source/a/aaa_elflibs/symlinks-to-tracked-libs-tmp7
-rw-r--r--source/a/aaa_elflibs/tracked-files6
-rw-r--r--source/a/aaa_elflibs/tracked-files-tmp5
-rwxr-xr-xsource/a/aaa_terminfo/aaa_terminfo.SlackBuild4
-rwxr-xr-xsource/a/acl/acl.SlackBuild25
-rw-r--r--source/a/acl/acl.destdir.diff36
-rwxr-xr-xsource/a/acpid/acpid.SlackBuild6
-rw-r--r--source/a/acpid/acpid.url1
-rwxr-xr-xsource/a/apmd/apmd.SlackBuild114
-rw-r--r--source/a/apmd/slack-desc19
-rwxr-xr-xsource/a/attr/attr.SlackBuild26
-rw-r--r--source/a/attr/attr.destdir.diff36
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-00178
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-00260
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-003318
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-00453
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-005131
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-00646
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-00746
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-00874
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-00982
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-01061
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-01146
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-012151
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-01352
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-01447
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-01581
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-01646
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-01747
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-01874
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-01947
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-02060
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-02161
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-02261
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-02362
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-02445
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-025143
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-02658
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-02747
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-02852
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-029524
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-030178
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-03180
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-03275
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-03357
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-03446
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-03566
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-03692
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-037112
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-03847
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-03958
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-04056
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-04147
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-04257
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-04365
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-04470
-rw-r--r--source/a/bash/bash-4.2-patches/bash42-04553
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-00158
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-00262
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-00348
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-00447
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-00563
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-00648
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-00750
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-008188
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-00964
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-010157
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-01149
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-01243
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-01366
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-014102
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-01558
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-016132
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-01751
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-01844
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-01984
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-020110
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-02152
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-02256
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-023104
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-02454
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-025123
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-02660
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-027221
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-0282265
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-02959
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-0302064
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-031112
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-03251
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-033225
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-03490
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-03563
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-03657
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-03743
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-03888
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-03957
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-04047
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-04172
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-04255
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-04359
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-04448
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-04552
-rw-r--r--source/a/bash/bash-4.3-patches/bash43-04655
-rwxr-xr-xsource/a/bash/bash.SlackBuild24
-rw-r--r--source/a/btrfs-progs/btrfs-progs-v4.5.3.tar.signbin0 -> 543 bytes
-rwxr-xr-xsource/a/btrfs-progs/btrfs-progs.SlackBuild40
-rw-r--r--source/a/btrfs-progs/btrfs-progs.url1
-rwxr-xr-xsource/a/coreutils/coreutils.SlackBuild17
-rw-r--r--source/a/coreutils/doinst.sh3
-rw-r--r--source/a/coreutils/no_ls_quoting.patch41
-rw-r--r--source/a/cpio/cpio.32bit.crc.diff111
-rwxr-xr-xsource/a/cpio/cpio.SlackBuild13
-rw-r--r--source/a/cryptsetup/cryptsetup-1.7.1.tar.sign17
-rwxr-xr-xsource/a/cryptsetup/cryptsetup.SlackBuild14
-rw-r--r--source/a/cryptsetup/slack-desc2
-rw-r--r--source/a/cups/cups-1.5.4-usb-quirks.diff319
-rw-r--r--source/a/cups/cups-blacklist-usblp.conf10
-rwxr-xr-xsource/a/cups/cups.SlackBuild201
-rw-r--r--source/a/cups/cups.url1
-rw-r--r--source/a/cups/doinst.sh34
-rw-r--r--source/a/cups/slack-desc19
-rwxr-xr-xsource/a/cxxlibs/cxxlibs.SlackBuild65
-rw-r--r--source/a/cxxlibs/slack-desc19
-rw-r--r--source/a/cxxlibs/symlinks-to-tracked-libs2
-rw-r--r--source/a/cxxlibs/symlinks-to-tracked-libs642
-rw-r--r--source/a/dbus/dbus-1.10.x-allow_root_globally.diff (renamed from source/a/dbus/dbus-1.6.x-allow_root_globally.diff)12
-rwxr-xr-xsource/a/dbus/dbus.SlackBuild12
-rw-r--r--source/a/dbus/dbus.set.home.diff22
-rw-r--r--source/a/dbus/doinst.sh6
-rw-r--r--source/a/dbus/rc.messagebus1
-rwxr-xr-xsource/a/dcron/dcron.SlackBuild20
-rw-r--r--source/a/dcron/dcron.update.during.long.running.jobs.diff19
-rw-r--r--source/a/dcron/defs.h._DEFAULT_SOURCE.diff11
-rwxr-xr-xsource/a/dosfstools/dosfstools.SlackBuild6
-rw-r--r--source/a/dosfstools/dosfstools.url1
-rw-r--r--source/a/dosfstools/slack-desc2
-rw-r--r--source/a/e2fsprogs/e2fsprogs-1.42.8.tar.signbin543 -> 0 bytes
-rw-r--r--source/a/e2fsprogs/e2fsprogs-1.43.1.tar.signbin0 -> 287 bytes
-rwxr-xr-xsource/a/e2fsprogs/e2fsprogs.SlackBuild49
-rw-r--r--source/a/e2fsprogs/e2fsprogs.no.64bit.by.default.diff12
-rw-r--r--source/a/e2fsprogs/slack-desc2
-rwxr-xr-xsource/a/ed/ed.SlackBuild6
-rwxr-xr-xsource/a/efibootmgr/efibootmgr.SlackBuild2
-rwxr-xr-xsource/a/elilo/elilo.SlackBuild18
-rw-r--r--source/a/elilo/eliloconfig6
-rwxr-xr-xsource/a/etc/etc.SlackBuild10
-rw-r--r--source/a/eudev/0001-Remove-obsolete-udev_root-references.patch68
-rw-r--r--source/a/eudev/0002-src-udev-udevd.c-add-eudev-startup-message-for-kmsg.patch38
-rw-r--r--source/a/eudev/60-cdrom_id.rules.diff (renamed from source/a/udev/60-cdrom_id.rules.diff)12
-rw-r--r--source/a/eudev/config/modprobe.d/8139cp.conf (renamed from source/a/udev/config/modprobe.d/8139cp.conf)0
-rw-r--r--source/a/eudev/config/modprobe.d/README (renamed from source/a/udev/config/modprobe.d/README)0
-rw-r--r--source/a/eudev/config/modprobe.d/bcm43xx.conf (renamed from source/a/udev/config/modprobe.d/bcm43xx.conf)0
-rw-r--r--source/a/eudev/config/modprobe.d/eepro100.conf (renamed from source/a/udev/config/modprobe.d/eepro100.conf)0
-rw-r--r--source/a/eudev/config/modprobe.d/eth1394.conf (renamed from source/a/udev/config/modprobe.d/eth1394.conf)0
-rw-r--r--source/a/eudev/config/modprobe.d/evbug.conf (renamed from source/a/udev/config/modprobe.d/evbug.conf)0
-rw-r--r--source/a/eudev/config/modprobe.d/framebuffers.conf (renamed from source/a/udev/config/modprobe.d/framebuffers.conf)0
-rw-r--r--source/a/eudev/config/modprobe.d/hostap.conf (renamed from source/a/udev/config/modprobe.d/hostap.conf)0
-rw-r--r--source/a/eudev/config/modprobe.d/hw_random.conf (renamed from source/a/udev/config/modprobe.d/hw_random.conf)0
-rw-r--r--source/a/eudev/config/modprobe.d/isapnp.conf (renamed from source/a/udev/config/modprobe.d/isapnp.conf)0
-rw-r--r--source/a/eudev/config/modprobe.d/isdn.conf (renamed from source/a/udev/config/modprobe.d/isdn.conf)0
-rw-r--r--source/a/eudev/config/modprobe.d/oss.conf (renamed from source/a/udev/config/modprobe.d/oss.conf)0
-rw-r--r--source/a/eudev/config/modprobe.d/pcspkr.conf (renamed from source/a/udev/config/modprobe.d/pcspkr.conf)0
-rw-r--r--source/a/eudev/config/modprobe.d/psmouse.conf (renamed from source/a/udev/config/modprobe.d/psmouse.conf)0
-rw-r--r--source/a/eudev/config/modprobe.d/scsi-sata-controllers.conf (renamed from source/a/udev/config/modprobe.d/scsi-sata-controllers.conf)0
-rw-r--r--source/a/eudev/config/modprobe.d/sound-modems.conf (renamed from source/a/udev/config/modprobe.d/sound-modems.conf)0
-rw-r--r--source/a/eudev/config/modprobe.d/tulip.conf (renamed from source/a/udev/config/modprobe.d/tulip.conf)0
-rw-r--r--source/a/eudev/config/modprobe.d/usb-controller.conf (renamed from source/a/udev/config/modprobe.d/usb-controller.conf)0
-rw-r--r--source/a/eudev/config/modprobe.d/via-ircc.conf (renamed from source/a/udev/config/modprobe.d/via-ircc.conf)0
-rw-r--r--source/a/eudev/config/modprobe.d/watchdog.conf (renamed from source/a/udev/config/modprobe.d/watchdog.conf)16
-rwxr-xr-x[-rw-r--r--]source/a/eudev/config/rc.d/rc.udev.new (renamed from source/a/udev/config/rc.d/rc.udev.new)117
-rw-r--r--source/a/eudev/config/rules.d/40-slackware.rules (renamed from source/a/udev/config/rules.d/40-slackware.rules)3
-rw-r--r--source/a/eudev/config/rules.d/65-permissions.rules (renamed from source/a/udev/config/rules.d/65-permissions.rules)0
-rw-r--r--source/a/eudev/config/udev.conf8
-rw-r--r--source/a/eudev/doinst.sh (renamed from source/a/udev/doinst.sh)0
-rwxr-xr-xsource/a/eudev/eudev.SlackBuild (renamed from source/a/udev/udev.SlackBuild)76
-rw-r--r--source/a/eudev/slack-desc20
-rw-r--r--source/a/file/doinst.sh5
-rwxr-xr-xsource/a/file/file.SlackBuild51
-rw-r--r--source/a/file/recompile_magic.mgc.sh14
-rwxr-xr-xsource/a/gawk/gawk.SlackBuild23
-rwxr-xr-xsource/a/gettext/gettext-tools.SlackBuild12
-rwxr-xr-xsource/a/gettext/gettext.SlackBuild12
-rw-r--r--source/a/glibc-zoneinfo/doinst.sh15
-rwxr-xr-xsource/a/glibc-zoneinfo/glibc-zoneinfo.SlackBuild142
-rw-r--r--source/a/glibc-zoneinfo/slack-desc19
-rwxr-xr-xsource/a/glibc-zoneinfo/timezone-scripts/output-updated-timeconfig.sh60
-rw-r--r--source/a/glibc-zoneinfo/timezone-scripts/parts/00132
-rw-r--r--source/a/glibc-zoneinfo/timezone-scripts/parts/01585
-rw-r--r--source/a/glibc-zoneinfo/timezone-scripts/parts/0228
-rw-r--r--source/a/glibc-zoneinfo/timezone-scripts/parts/03585
-rw-r--r--source/a/glibc-zoneinfo/timezone-scripts/parts/0433
-rw-r--r--source/a/glibc-zoneinfo/timezone-scripts/parts/README2
-rw-r--r--source/a/glibc-zoneinfo/timezone-scripts/setup.timeconfig3
-rw-r--r--source/a/glibc-zoneinfo/timezone-scripts/timeconfig1363
-rwxr-xr-xsource/a/gpm/gpm.SlackBuild7
-rwxr-xr-xsource/a/gptfdisk/gptfdisk.SlackBuild4
-rw-r--r--source/a/gptfdisk/gptfdisk.remove.icu4c.dep.diff36
-rw-r--r--source/a/gptfdisk/slack-desc2
-rwxr-xr-xsource/a/grep/grep.SlackBuild8
-rw-r--r--source/a/grub/0001-Fix-CVE-2015-8370-Grub2-user-pass-vulnerability.patch45
-rw-r--r--source/a/grub/etc.default.grub4
-rwxr-xr-xsource/a/grub/grub.SlackBuild50
-rwxr-xr-xsource/a/gzip/gzip.SlackBuild12
-rwxr-xr-xsource/a/hdparm/hdparm.SlackBuild2
-rwxr-xr-xsource/a/hwdata/hwdata.SlackBuild115
-rw-r--r--source/a/hwdata/slack-desc19
-rwxr-xr-xsource/a/infozip/infozip.SlackBuild5
-rw-r--r--source/a/infozip/unzip.git.archive.fix.diff15
-rw-r--r--source/a/kmod/kmod-15.tar.sign17
-rw-r--r--source/a/kmod/kmod-22.tar.sign17
-rwxr-xr-xsource/a/kmod/kmod.SlackBuild13
-rwxr-xr-xsource/a/less/less.SlackBuild12
-rw-r--r--source/a/less/less.sysconfdir.diff15
-rwxr-xr-xsource/a/libcgroup/libcgroup.SlackBuild4
-rw-r--r--source/a/libcgroup/libcgroup.init.diff36
-rwxr-xr-xsource/a/libgudev/libgudev.SlackBuild116
-rw-r--r--source/a/libgudev/slack-desc19
-rwxr-xr-xsource/a/lilo/lilo.SlackBuild10
-rw-r--r--source/a/lilo/lilo.ignore.usable.memory.above.4G.diff42
-rw-r--r--source/a/lilo/liloconfig2
-rwxr-xr-xsource/a/logrotate/logrotate.SlackBuild4
-rwxr-xr-xsource/a/lrzip/lrzip.SlackBuild8
-rw-r--r--source/a/lvm2/create-dm-run-dir.diff13
-rw-r--r--source/a/lvm2/fix-build-with-udev-183.patch44
-rwxr-xr-xsource/a/lvm2/lvm2.SlackBuild10
-rw-r--r--source/a/mcelog/mcelog-1.0pre3.tar.bz2.sign8
-rwxr-xr-xsource/a/mcelog/mcelog.SlackBuild32
-rw-r--r--source/a/mdadm/mdadm-3.3.4.tar.sign17
-rwxr-xr-xsource/a/mdadm/mdadm.SlackBuild14
-rw-r--r--source/a/mkinitrd/busybox-dot-config.1.15.x903
-rw-r--r--source/a/mkinitrd/busybox-dot-config.1.17.x970
-rw-r--r--source/a/mkinitrd/busybox-dot-config.1.18.x990
-rw-r--r--source/a/mkinitrd/busybox-dot-config.1.19.x1013
-rw-r--r--source/a/mkinitrd/busybox-dot-config.1.20.x8
-rwxr-xr-xsource/a/mkinitrd/init12
-rw-r--r--source/a/mkinitrd/mkinitrd11
-rwxr-xr-xsource/a/mkinitrd/mkinitrd.SlackBuild9
-rw-r--r--source/a/mkinitrd/mkinitrd_command_generator.8187
-rw-r--r--source/a/mkinitrd/mkinitrd_command_generator.sh6
-rwxr-xr-xsource/a/ncompress/ncompress.SlackBuild39
-rwxr-xr-xsource/a/ntfs-3g/ntfs-3g.SlackBuild16
-rw-r--r--source/a/ntfs-3g/slack-desc2
-rwxr-xr-xsource/a/os-prober/os-prober.SlackBuild14
-rw-r--r--source/a/patch/patch.281537bcd92515ae3b9f154acd579ce97260f99b.diff78
-rw-r--r--source/a/patch/patch.99f2638763845d8173a0c9f9209ac2b4be947165.diff88
-rwxr-xr-xsource/a/patch/patch.SlackBuild16
-rw-r--r--source/a/pciutils/pciutils-3.2.0.tar.sign17
-rw-r--r--source/a/pciutils/pciutils-3.4.1.tar.sign17
-rwxr-xr-xsource/a/pciutils/pciutils.SlackBuild56
-rw-r--r--source/a/pciutils/pciutils.update.pci.ids.url.diff11
-rw-r--r--source/a/pcmciautils/pcmciautils-017.tar.sign8
-rw-r--r--source/a/pcmciautils/pcmciautils-018.tar.sign17
-rwxr-xr-xsource/a/pcmciautils/pcmciautils.SlackBuild22
-rw-r--r--source/a/pkgtools/manpages/setup.8-deprecated120
-rwxr-xr-xsource/a/pkgtools/pkgtools.SlackBuild19
-rw-r--r--source/a/pkgtools/scripts/installpkg117
-rw-r--r--source/a/pkgtools/scripts/makepkg50
-rw-r--r--source/a/pkgtools/scripts/pkgtool33
-rw-r--r--source/a/pkgtools/scripts/removepkg63
-rw-r--r--source/a/pkgtools/scripts/setup.80.make-bootdisk98
-rw-r--r--source/a/pkgtools/scripts/upgradepkg377
-rwxr-xr-xsource/a/procps-ng/procps-ng.SlackBuild251
-rw-r--r--source/a/procps-ng/psmisc.3638cc55b4d08851faba46635d737b24d016665b.diff25
-rw-r--r--source/a/procps-ng/slack-desc19
-rw-r--r--source/a/procps/procinfo.gcc3.diff11
-rw-r--r--source/a/procps/procinfo.lsm15
-rw-r--r--source/a/procps/procps-3.2.7-ps-cgroup.patch65
-rw-r--r--source/a/procps/procps-3.2.7-ps-eip64.diff48
-rw-r--r--source/a/procps/procps-3.2.8-ps-cgroup-suppress-root-group.patch36
-rw-r--r--source/a/procps/procps-3.2.8.makefile.diff11
-rw-r--r--source/a/procps/procps-3.2.8.unknown.hz.value.diff32
-rwxr-xr-xsource/a/procps/procps.SlackBuild207
-rw-r--r--source/a/procps/procps.nowarning.diff25
-rw-r--r--source/a/procps/procps.w.showfrom.diff11
-rw-r--r--source/a/procps/slack-desc19
-rwxr-xr-xsource/a/quota/quota.SlackBuild185
-rw-r--r--source/a/quota/quota.lwrap.needs.lnsl.diff11
-rw-r--r--source/a/quota/slack-desc2
-rwxr-xr-xsource/a/reiserfsprogs/reiserfsprogs.SlackBuild19
-rwxr-xr-xsource/a/sdparm/sdparm.SlackBuild8
-rw-r--r--source/a/shadow/patches/unused/r3299.diff12
-rw-r--r--source/a/shadow/shadow.CVE-2005-4890.relax.diff35
-rwxr-xr-xsource/a/shadow/shadow.SlackBuild16
-rw-r--r--source/a/shadow/shadow.glibc217-crypt.diff258
-rw-r--r--source/a/shadow/shadow.url2
-rwxr-xr-xsource/a/sharutils/sharutils.SlackBuild6
-rw-r--r--source/a/smartmontools/slack-desc10
-rwxr-xr-xsource/a/smartmontools/smartmontools.SlackBuild15
-rw-r--r--source/a/sysklogd/config/rc.syslog.new23
-rwxr-xr-xsource/a/sysklogd/sysklogd.SlackBuild9
-rw-r--r--source/a/sysklogd/sysklogd.allow.repeated.messages.diff69
-rw-r--r--source/a/syslinux/syslinux-4.06.tar.sign17
-rw-r--r--source/a/syslinux/syslinux-4.07.tar.sign17
-rwxr-xr-xsource/a/syslinux/syslinux.SlackBuild22
-rw-r--r--source/a/sysvinit-scripts/doinst.sh3
-rw-r--r--source/a/sysvinit-scripts/scripts/rc.45
-rw-r--r--source/a/sysvinit-scripts/scripts/rc.655
-rw-r--r--source/a/sysvinit-scripts/scripts/rc.K13
-rw-r--r--source/a/sysvinit-scripts/scripts/rc.M77
-rw-r--r--source/a/sysvinit-scripts/scripts/rc.S193
-rw-r--r--source/a/sysvinit-scripts/scripts/rc.cpufreq48
-rw-r--r--source/a/sysvinit-scripts/scripts/rc.modules28
-rw-r--r--source/a/sysvinit-scripts/scripts/rc.modules.local17
-rw-r--r--source/a/sysvinit-scripts/scripts/rc.sysvinit14
-rwxr-xr-xsource/a/sysvinit-scripts/sysvinit-scripts.SlackBuild6
-rw-r--r--source/a/sysvinit/CHANGES1
-rw-r--r--source/a/sysvinit/doinst.sh2
-rwxr-xr-xsource/a/sysvinit/sysvinit.SlackBuild4
-rw-r--r--source/a/tar/rmt.8217
-rw-r--r--source/a/tar/tar-1.2x.support_txz.diff11
-rw-r--r--source/a/tar/tar.1371
-rwxr-xr-xsource/a/tar/tar.SlackBuild59
-rw-r--r--source/a/tar/tar.nolonezero.diff9
-rw-r--r--source/a/tar/tar.norecordsizespam.diff21
-rw-r--r--source/a/tcsh/doinst.sh6
-rw-r--r--source/a/tcsh/tcsh-6.18.01-crypt.diff11
-rwxr-xr-xsource/a/tcsh/tcsh.SlackBuild80
-rwxr-xr-xsource/a/tree/tree.SlackBuild41
-rw-r--r--source/a/udev/config/rules.d/59-non-libata-devices.rules44
-rw-r--r--source/a/udev/config/udev.conf14
-rw-r--r--source/a/udev/fix-42-usb-hid-pm.rules.diff18
-rw-r--r--source/a/udev/rule_generator.diff129
-rw-r--r--source/a/udev/slack-desc19
-rw-r--r--source/a/udev/udev-ata_id-fixup-all-8-not-only-6-bytes-of-the-fw_rev.patch27
-rwxr-xr-xsource/a/udisks/udisks.SlackBuild20
-rw-r--r--source/a/udisks/udisks.no.pci-db.diff32
-rwxr-xr-xsource/a/udisks2/udisks2.SlackBuild8
-rw-r--r--source/a/upower/patches/Fix-HID-rules-header-as-per-discussions.patch36
-rw-r--r--source/a/upower/patches/Update-UPower-HID-rules-supported-devices-list.patch114
-rw-r--r--source/a/upower/patches/linux-Clamp-percentage-for-overfull-batteries.patch77
-rw-r--r--source/a/upower/patches/linux-Detect-docked-docking-stations-correctly.patch84
-rw-r--r--source/a/upower/patches/linux-Properly-detect-bluetooth-mice-and-keyboards-t.patch141
-rw-r--r--source/a/upower/patches/rules-Add-support-for-Logitech-G700s-G700-Gaming-Mou.patch23
-rw-r--r--source/a/upower/patches/rules-support-Logitech-Unifying-in-Linux-3.19.patch30
-rw-r--r--source/a/upower/patches/upower-pm-utils-0.9.23-fix-segfault.patch24
-rwxr-xr-xsource/a/upower/upower.SlackBuild20
-rw-r--r--source/a/usb_modeswitch/device_reference.txt259
-rwxr-xr-xsource/a/usb_modeswitch/usb_modeswitch.SlackBuild12
-rw-r--r--source/a/usbutils/usbutils-007.tar.sign17
-rw-r--r--source/a/usbutils/usbutils-008.tar.sign17
-rwxr-xr-xsource/a/usbutils/usbutils.SlackBuild39
-rwxr-xr-xsource/a/utempter/utempter.SlackBuild74
-rw-r--r--source/a/util-linux/0001-mount-old-fix-encryption-usage.patch88
-rw-r--r--source/a/util-linux/0002-fdisk-don-t-ignore-1MiB-granularity-on-512-byte-sect.patch31
-rw-r--r--source/a/util-linux/bsdstrings-util-linux_overflow.diff20
-rw-r--r--source/a/util-linux/column-fix_long_opts.diff15
-rw-r--r--source/a/util-linux/ddate.1115
-rw-r--r--source/a/util-linux/ddate.c399
-rw-r--r--source/a/util-linux/partx.data.type.diff11
-rw-r--r--source/a/util-linux/util-linux-2.27.1.tar.sign17
-rwxr-xr-xsource/a/util-linux/util-linux.SlackBuild80
-rw-r--r--source/a/util-linux/util-linux.fdisk-no-solaris.diff7
-rwxr-xr-xsource/a/which/which.SlackBuild7
-rwxr-xr-xsource/a/xfsprogs/xfsprogs.SlackBuild6
-rwxr-xr-xsource/a/xz/xz.SlackBuild12
362 files changed, 15106 insertions, 12561 deletions
diff --git a/source/a/aaa_base/aaa_base.SlackBuild b/source/a/aaa_base/aaa_base.SlackBuild
index eb67560f2..487542daf 100755
--- a/source/a/aaa_base/aaa_base.SlackBuild
+++ b/source/a/aaa_base/aaa_base.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013, 2015 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,13 +20,13 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=14.1
-BUILD=${BUILD:-1}
+VERSION=14.2
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 ) ;;
diff --git a/source/a/aaa_base/os-release b/source/a/aaa_base/os-release
index 2f64cbf7c..de8afe3bb 100644
--- a/source/a/aaa_base/os-release
+++ b/source/a/aaa_base/os-release
@@ -1,10 +1,10 @@
NAME=Slackware
-VERSION="14.1"
+VERSION="14.2"
ID=slackware
-VERSION_ID=14.1
-PRETTY_NAME="Slackware 14.1"
+VERSION_ID=14.2
+PRETTY_NAME="Slackware 14.2"
ANSI_COLOR="0;34"
-CPE_NAME="cpe:/o:slackware:slackware_linux:14.1"
+CPE_NAME="cpe:/o:slackware:slackware_linux:14.2"
HOME_URL="http://slackware.com/"
SUPPORT_URL="http://www.linuxquestions.org/questions/slackware-14/"
BUG_REPORT_URL="http://www.linuxquestions.org/questions/slackware-14/"
diff --git a/source/a/aaa_base/slackware-version b/source/a/aaa_base/slackware-version
index 1147d2973..7921e7405 100644
--- a/source/a/aaa_base/slackware-version
+++ b/source/a/aaa_base/slackware-version
@@ -1 +1 @@
-Slackware 14.1
+Slackware 14.2
diff --git a/source/a/aaa_elflibs/aaa_elflibs.SlackBuild b/source/a/aaa_elflibs/aaa_elflibs.SlackBuild
index 8fd9f3fe8..f71a2374b 100755
--- a/source/a/aaa_elflibs/aaa_elflibs.SlackBuild
+++ b/source/a/aaa_elflibs/aaa_elflibs.SlackBuild
@@ -1,5 +1,5 @@
#!/bin/sh
-# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2015 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,13 +21,13 @@
PKGNAM=aaa_elflibs
-VERSION=${VERSION:-14.1}
-BUILD=${BUILD:-3}
+VERSION=${VERSION:-14.2}
+BUILD=${BUILD:-23}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 ) ;;
@@ -46,8 +46,13 @@ PKG=$TMP/package-${PKGNAM}
rm -rf $PKG
mkdir -p $TMP $PKG
+if [ -x /sbin/ldconfig ]; then
+ /sbin/ldconfig
+fi
+
cd $PKG
cat $CWD/symlinks-to-tracked-libs \
+ | grep -v "^#" | grep -v "^$" \
| sed -e "s#^/lib/#/lib${LIBDIRSUFFIX}/#" \
-e "s#^/usr/lib/#/usr/lib${LIBDIRSUFFIX}/#" \
| while read library ; do
@@ -61,7 +66,39 @@ cat $CWD/symlinks-to-tracked-libs \
cp -a $(dirname $library)/$(readlink $library) .
)
done
+
cat $CWD/tracked-files \
+ | grep -v "^#" | grep -v "^$" \
+ | sed -e "s#^/lib/#/lib${LIBDIRSUFFIX}/#" \
+ -e "s#^/usr/lib/#/usr/lib${LIBDIRSUFFIX}/#" \
+ | while read library ; do
+ ( [ ! -e $library ] && continue
+ echo "Adding $library"
+ mkdir -p $(dirname $library | cut -b2- )
+ cd $(dirname $library | cut -b2- )
+ rm -f $(basename $library)
+ cp -a $library .
+ )
+done
+
+cat $CWD/symlinks-to-tracked-libs-tmp \
+ | grep -v "^#" | grep -v "^$" \
+ | sed -e "s#^/lib/#/lib${LIBDIRSUFFIX}/#" \
+ -e "s#^/usr/lib/#/usr/lib${LIBDIRSUFFIX}/#" \
+ | while read library ; do
+ ( [ ! -e $library ] && continue
+ echo "Adding $library"
+ mkdir -p $(dirname $library | cut -b2- )
+ cd $(dirname $library | cut -b2- )
+ rm -f $(basename $library)
+ cp -a $library .
+ rm -f $(readlink $library)
+ cp -a $(dirname $library)/$(readlink $library) .
+ )
+done
+
+cat $CWD/tracked-files-tmp \
+ | grep -v "^#" | grep -v "^$" \
| sed -e "s#^/lib/#/lib${LIBDIRSUFFIX}/#" \
-e "s#^/usr/lib/#/usr/lib${LIBDIRSUFFIX}/#" \
| while read library ; do
diff --git a/source/a/aaa_elflibs/display_orphans.sh b/source/a/aaa_elflibs/display_orphans.sh
new file mode 100755
index 000000000..32bd570bd
--- /dev/null
+++ b/source/a/aaa_elflibs/display_orphans.sh
@@ -0,0 +1,44 @@
+#!/bin/sh
+#
+# Copyright 2015 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.
+#
+
+# Show libraries that are only present in the aaa_elflibs that is currently
+# installed on the system.
+
+cleanup() {
+ rm -r $TMPDIR
+}
+
+trap 'cleanup' 2 14 15 # trap CTRL+C and kill
+
+TMPDIR="$(mktemp -d /tmp/find-aaaelfliborphans.XXXXXX)"
+
+cp -a /var/log/packages/* $TMPDIR
+rm -f $TMPDIR/aaa_elflibs-*
+cat /var/log/packages/aaa_elflibs-* | grep -v -e PACKAGE -e aaa_elflibs: -e FILE -e '^\./$' -e install/ | grep -v '/$' | while read file ; do
+ if ! grep -q $file $TMPDIR/* ; then
+ echo $file
+ fi
+done
+
+cleanup
+
diff --git a/source/a/aaa_elflibs/slack-desc b/source/a/aaa_elflibs/slack-desc
index 29a6c8fbe..86996375b 100644
--- a/source/a/aaa_elflibs/slack-desc
+++ b/source/a/aaa_elflibs/slack-desc
@@ -12,8 +12,8 @@ aaa_elflibs: This is a collection of shared libraries needed to run Linux progra
aaa_elflibs: ELF (Executable and Linking Format) is the standard Linux binary
aaa_elflibs: format. These libraries are gathered from other Slackware packages
aaa_elflibs: and are intended to give a fairly complete initial set of libraries.
-aaa_elflibs: This package should be not upgraded or reinstalled (it could copy
-aaa_elflibs: over newer library versions).
+aaa_elflibs:
+aaa_elflibs:
aaa_elflibs:
aaa_elflibs:
aaa_elflibs:
diff --git a/source/a/aaa_elflibs/symlinks-to-tracked-libs b/source/a/aaa_elflibs/symlinks-to-tracked-libs
index f19a6b9e8..a8ac5e2f5 100644
--- a/source/a/aaa_elflibs/symlinks-to-tracked-libs
+++ b/source/a/aaa_elflibs/symlinks-to-tracked-libs
@@ -1,3 +1,6 @@
+# This file lists shared library symlinks for libraries we would
+# like to keep copies of in the aaa_symlinks package.
+
/lib/libacl.so.1
/lib/libattr.so.1
/lib/libbz2.so.1
@@ -5,60 +8,61 @@
/lib/libcap.so.2
/lib/libdm.so.0
/lib/libfuse.so.2
-/lib/libgpm.so.1
/lib/libgpm.so.2
/lib/liblzma.so.5
/lib/libncurses.so.5
/lib/libncursesw.so.5
+/lib/libpcre.so.1
+/lib/libpcreposix.so.0
/lib/libpopt.so.0
/lib/libsysfs.so.2
/lib/libtermcap.so.2
/lib/libz.so.1
/usr/lib/libasound.so.2
-/usr/lib/libcurl.so.2
-/usr/lib/libcurl.so.3
/usr/lib/libcurl.so.4
-/usr/lib/libelf.so.0
-/usr/lib/libexpat.so.0
+/usr/lib/libelf.so.1
/usr/lib/libexpat.so.1
/usr/lib/libform.so.5
/usr/lib/libformw.so.5
-/usr/lib/libfreetype.so.6
-/usr/lib/libgdbm.so.2
/usr/lib/libgdbm.so.3
+/usr/lib/libgdbm.so.4
/usr/lib/libglib-2.0.so.0
/usr/lib/libgmodule-2.0.so.0
-/usr/lib/libgmp.so.3
/usr/lib/libgmp.so.10
-/usr/lib/libgmpxx.so.3
/usr/lib/libgmpxx.so.4
/usr/lib/libgobject-2.0.so.0
/usr/lib/libgthread-2.0.so.0
/usr/lib/libhistory.so.5
+/usr/lib/libhistory.so.6
/usr/lib/libidn.so.11
/usr/lib/libjpeg.so.62
+/usr/lib/libturbojpeg.so.0
/usr/lib/libjpeg.so.8
/usr/lib/liblber-2.4.so.2
/usr/lib/libldap-2.4.so.2
-/usr/lib/libltdl.so.3
/usr/lib/libltdl.so.7
/usr/lib/libmenu.so.5
/usr/lib/libmenuw.so.5
/usr/lib/libmm.so.14
-/usr/lib/libmpfr.so.1
+/usr/lib/libmpfr.so.4
/usr/lib/libpanel.so.5
/usr/lib/libpanelw.so.5
-/usr/lib/libpcre.so.0
-/usr/lib/libpcre.so.1
-/usr/lib/libpcreposix.so.0
-/usr/lib/libpng.so.3
/usr/lib/libpng.so.14
-/usr/lib/libpng12.so.0
/usr/lib/libpng14.so.14
+/usr/lib/libpng16.so.16
/usr/lib/libreadline.so.5
+/usr/lib/libreadline.so.6
+/usr/lib/libsigsegv.so.2
/usr/lib/libslang.so.1
/usr/lib/libslang.so.2
+/usr/lib/libssh2.so.1
+/usr/lib/libstdc++.so.5
+/usr/lib/libstdc++.so.6
+/usr/lib/libtdb.so.1
/usr/lib/libtiff.so.3
+/usr/lib/libtiffxx.so.3
+/usr/lib/libtiffxx.so.5
+/usr/lib/libtiff.so.5
/usr/lib/libusb-0.1.so.4
/usr/lib/libusb-1.0.so.0
/usr/lib/libvga.so.1
diff --git a/source/a/aaa_elflibs/symlinks-to-tracked-libs-tmp b/source/a/aaa_elflibs/symlinks-to-tracked-libs-tmp
new file mode 100644
index 000000000..13323985f
--- /dev/null
+++ b/source/a/aaa_elflibs/symlinks-to-tracked-libs-tmp
@@ -0,0 +1,7 @@
+# This file lists shared library symlinks for libraries we would
+# like to keep copies of temporarily until we can recompile
+# everything that's still using them. Once that happens, they'll
+# be dropped from this package.
+
+/lib/libudev.so.0
+/lib/libudev.so.1
diff --git a/source/a/aaa_elflibs/tracked-files b/source/a/aaa_elflibs/tracked-files
index 16b731ba0..f112d04dd 100644
--- a/source/a/aaa_elflibs/tracked-files
+++ b/source/a/aaa_elflibs/tracked-files
@@ -1,5 +1,7 @@
-/lib/libdb-3.1.so
-/lib/libdb-3.3.so
+# This is a list of files (usually libraries) that we want to include
+# in aaa_elflibs but which don't have a shared library symlink pointing
+# at them.
+
/lib/libdb-4.2.so
/lib/libdb-4.4.so
/lib/libdevmapper.so.1.02
diff --git a/source/a/aaa_elflibs/tracked-files-tmp b/source/a/aaa_elflibs/tracked-files-tmp
new file mode 100644
index 000000000..58b6c36d1
--- /dev/null
+++ b/source/a/aaa_elflibs/tracked-files-tmp
@@ -0,0 +1,5 @@
+# This is a list of files (usually libraries) that we want to keep
+# copies of temporarily until we can recompile everything that's
+# still using them. Once that happens, they'll be dropped from
+# this package.
+
diff --git a/source/a/aaa_terminfo/aaa_terminfo.SlackBuild b/source/a/aaa_terminfo/aaa_terminfo.SlackBuild
index 291215a9e..c749893fe 100755
--- a/source/a/aaa_terminfo/aaa_terminfo.SlackBuild
+++ b/source/a/aaa_terminfo/aaa_terminfo.SlackBuild
@@ -1,5 +1,5 @@
#!/bin/sh
-# Copyright 2006, 2007, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2007, 2009, 2010, 2011, 2015 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
PKGNAM=aaa_terminfo
# Note the version of ncurses in use:
-VERSION=${VERSION:-5.8}
+VERSION=${VERSION:-5.9}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
diff --git a/source/a/acl/acl.SlackBuild b/source/a/acl/acl.SlackBuild
index a74fb355c..24df70781 100755
--- a/source/a/acl/acl.SlackBuild
+++ b/source/a/acl/acl.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2005-2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2005-2015 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,7 +21,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PKGNAM=acl
-VERSION=2.2.51
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 4- -d . | rev | cut -f 2 -d -)}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
@@ -60,13 +60,6 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-# Add DESTDIR support and improve docs install location:
-zcat $CWD/acl.destdir.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit
-
-# Make sure you have the same version of autoconf as the
-# developers did... ;-)
-autoconf
-
./configure \
--prefix=/ \
--exec-prefix=/ \
@@ -76,15 +69,15 @@ autoconf
--libexecdir=/usr/lib${LIBDIRSUFFIX} \
--includedir=/usr/include \
--mandir=/usr/man \
- --datadir=/usr/share
+ --datadir=/usr/share \
+ --docdir=/usr/doc/acl-$VERSION \
+ --build=$ARCH-slackware-linux
-make || exit 1
-make install DESTDIR=$PKG
-make install-dev DESTDIR=$PKG
-make install-lib DESTDIR=$PKG
+make PKG_DOC_DIR=/usr/doc/acl-$VERSION || exit 1
+make install PKG_DOC_DIR=/usr/doc/acl-$VERSION DESTDIR=$PKG
+make install-dev PKG_DOC_DIR=/usr/doc/acl-$VERSION DESTDIR=$PKG
+make install-lib PKG_DOC_DIR=/usr/doc/acl-$VERSION DESTDIR=$PKG
-mv $PKG/usr/share/doc $PKG/usr
-( cd $PKG/usr/doc ; mv acl acl-$VERSION )
#It would be nice to keep the same timestamps that the files have in the source:
cp -a \
README doc/COPYING* doc/PORTING \
diff --git a/source/a/acl/acl.destdir.diff b/source/a/acl/acl.destdir.diff
deleted file mode 100644
index aa4b42e83..000000000
--- a/source/a/acl/acl.destdir.diff
+++ /dev/null
@@ -1,36 +0,0 @@
---- ./include/builddefs.in.orig 2011-04-08 11:55:52.000000000 -0500
-+++ ./include/builddefs.in 2011-04-18 13:41:25.000000000 -0500
-@@ -28,14 +28,14 @@
- PKG_VERSION = @pkg_version@
- PKG_PLATFORM = @pkg_platform@
- PKG_DISTRIBUTION= @pkg_distribution@
--PKG_BIN_DIR = @bindir@
--PKG_SBIN_DIR = @sbindir@
--PKG_LIB_DIR = @libdir@@libdirsuffix@
--PKG_DEVLIB_DIR = @libexecdir@@libdirsuffix@
--PKG_INC_DIR = @includedir@
--PKG_MAN_DIR = @mandir@
--PKG_DOC_DIR = @datadir@/doc/@pkg_name@
--PKG_LOCALE_DIR = @datadir@/locale
-+PKG_BIN_DIR = $(DESTDIR)@bindir@
-+PKG_SBIN_DIR = $(DESTDIR)@sbindir@
-+PKG_LIB_DIR = $(DESTDIR)@libdir@@libdirsuffix@
-+PKG_DEVLIB_DIR = $(DESTDIR)@libexecdir@@libdirsuffix@
-+PKG_INC_DIR = $(DESTDIR)@includedir@
-+PKG_MAN_DIR = $(DESTDIR)@mandir@
-+PKG_DOC_DIR = $(DESTDIR)@datadir@/doc/@pkg_name@
-+PKG_LOCALE_DIR = $(DESTDIR)@datadir@/locale
-
- CC = @cc@
- AWK = @awk@
---- ./include/buildmacros.orig 2011-04-08 11:55:52.000000000 -0500
-+++ ./include/buildmacros 2011-04-18 13:41:54.000000000 -0500
-@@ -40,7 +40,7 @@
- $(LFILES:.l=.o) \
- $(YFILES:%.y=%.tab.o)
-
--INSTALL = $(TOPDIR)/include/install-sh -o $(PKG_USER) -g $(PKG_GROUP)
-+INSTALL = $(TOPDIR)/include/install-sh
-
- SHELL = /bin/sh
- IMAGES_DIR = $(TOPDIR)/all-images
diff --git a/source/a/acpid/acpid.SlackBuild b/source/a/acpid/acpid.SlackBuild
index 0b761d78d..ce060f27c 100755
--- a/source/a/acpid/acpid.SlackBuild
+++ b/source/a/acpid/acpid.SlackBuild
@@ -28,7 +28,7 @@ BUILD=${BUILD:-1}
MARCH=$( uname -m )
if [ -z "$ARCH" ]; then
case "$MARCH" in
- i?86) export ARCH=i486 ;;
+ i?86) export ARCH=i586 ;;
armv7hl) export ARCH=$MARCH ;;
arm*) export ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
@@ -42,8 +42,8 @@ PKG=$TMP/package-acpid
NUMJOBS=${NUMJOBS:--j8}
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
diff --git a/source/a/acpid/acpid.url b/source/a/acpid/acpid.url
new file mode 100644
index 000000000..a49b73994
--- /dev/null
+++ b/source/a/acpid/acpid.url
@@ -0,0 +1 @@
+http://downloads.sourceforge.net/project/acpid2/acpid-$VERSION.tar.xz
diff --git a/source/a/apmd/apmd.SlackBuild b/source/a/apmd/apmd.SlackBuild
deleted file mode 100755
index b17ddf36f..000000000
--- a/source/a/apmd/apmd.SlackBuild
+++ /dev/null
@@ -1,114 +0,0 @@
-#!/bin/sh
-
-# Copyright 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, Minnesota, 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.
-
-VERSION=${VERSION:-3.2.2}
-BUILD=${BUILD:-3}
-
-# Automatically determine the architecture we're building on:
-if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
- arm*) export ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$( uname -m ) ;;
- esac
-fi
-
-NUMJOBS=${NUMJOBS:-" -j7 "}
-
-CWD=$(pwd)
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-apmd
-
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
-elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2"
-elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
-fi
-
-rm -rf $PKG
-mkdir -p $TMP $PKG
-
-cd $TMP
-rm -rf apmd-$VERSION
-tar xvf $CWD/apmd-$VERSION.tar.bz2 || exit 1
-cd apmd-$VERSION
-
-if [ "$ARCH" = "x86_64" ]; then
- sed -i -e "s#/lib#/lib64#" Makefile
-fi
-
-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 {} \;
-
-CFLAGS="$SLKCFLAGS" make $NUMJOBS || exit 1
-CFLAGS="$SLKCFLAGS" make install DESTDIR=$PKG
-
-( cd xbattery
- cp ../.libs/libapm.a ..
- xmkmf
- make -j3
-)
-
-mkdir -p $PKG/usr/bin
-cat xapm > $PKG/usr/bin/xapm
-cat xbattery/xbattery > $PKG/usr/bin/xbattery
-chmod 755 $PKG/usr/bin/{xapm,xbattery}
-
-( cd $PKG
- find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
- find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-)
-
-mkdir -p $PKG/usr/man/man1
-cat xbattery/xbattery.man | gzip -9c > $PKG/usr/man/man1/xbattery.1.gz
-for page in apm.1 apmsleep.1 on_ac_power.1 xapm.1 ; do
- cat $page | gzip -9c > $PKG/usr/man/man1/${page}.gz
-done
-mkdir -p $PKG/usr/man/man8
-cat apmd.8 | gzip -9c > $PKG/usr/man/man8/apmd.8.gz
-mkdir -p $PKG/usr/man/fr/man1
-cat apmsleep.fr.1 | gzip -9c > $PKG/usr/man/fr/man1/apmsleep.1.gz
-
-# Remove this version since the one in pm-utils is better:
-rm -f $PKG/usr/bin/on_ac_power
-rm -f $PKG/usr/man/man1/on_ac_power.1.gz
-
-mkdir -p $PKG/usr/doc/apmd-$VERSION
-cp -a \
- AUTHORS COPYING LSM README apmlib.COPYING apmsleep.README \
- $PKG/usr/doc/apmd-$VERSION
-cp -a xbattery/README $PKG/usr/doc/apmd-$VERSION/README.xbattery
-
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-# Build the package:
-cd $PKG
-makepkg -c n -l y $TMP/apmd-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/a/apmd/slack-desc b/source/a/apmd/slack-desc
deleted file mode 100644
index a6f5c9a65..000000000
--- a/source/a/apmd/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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------------------------------------------------------|
-apmd: apmd (Advanced Power Management daemon)
-apmd:
-apmd: apmd is an APM monitoring daemon, and works in conjunction with the
-apmd: APM BIOS driver in the kernel. Apmd (and the included tools) handle
-apmd: tasks such as automatically putting a laptop into suspend when the
-apmd: power level drop below a certain point. This package also includes
-apmd: the graphical power management tools xapm and xbattery.
-apmd:
-apmd: The apmd tools were written by Rik Faith and are maintained by
-apmd: Avery Pennarun. xbattery was written by Nathan Sidwell.
-apmd:
diff --git a/source/a/attr/attr.SlackBuild b/source/a/attr/attr.SlackBuild
index 892961cff..dbd17da06 100755
--- a/source/a/attr/attr.SlackBuild
+++ b/source/a/attr/attr.SlackBuild
@@ -21,7 +21,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PKGNAM=attr
-VERSION=2.4.46
+VERSION=2.4.47
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
@@ -58,13 +58,6 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-# Add DESTDIR support and improve docs install location:
-zcat $CWD/attr.destdir.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
-
-# The 1/2 assed job has begun... the onus of running autoconf should never
-# be placed on packagers. They may not have the same autotools versions.
-autoconf
-
./configure \
--prefix=/ \
--exec-prefix=/ \
@@ -74,15 +67,15 @@ autoconf
--libexecdir=/usr/lib${LIBDIRSUFFIX} \
--includedir=/usr/include \
--mandir=/usr/man \
- --datadir=/usr/share
+ --datadir=/usr/share \
+ --docdir=/usr/doc/attr-$VERSION \
+ --build=$ARCH-slackware-linux
-make || exit 1
-make install DESTDIR=$PKG
-make install-dev DESTDIR=$PKG
-make install-lib DESTDIR=$PKG
+make PKG_DOC_DIR=/usr/doc/attr-$VERSION || exit 1
+make install PKG_DOC_DIR=/usr/doc/attr-$VERSION DESTDIR=$PKG
+make install-dev PKG_DOC_DIR=/usr/doc/attr-$VERSION DESTDIR=$PKG
+make install-lib PKG_DOC_DIR=/usr/doc/attr-$VERSION DESTDIR=$PKG
-mv $PKG/usr/share/doc $PKG/usr
-( cd $PKG/usr/doc ; mv attr attr-$VERSION )
#It would be nice to keep the same timestamps that the files have in the source:
rm -rf $PKG/usr/doc/attr-$VERSION/ea-conv
cp -a \
@@ -96,7 +89,8 @@ strip -g $PKG/usr/lib${LIBDIRSUFFIX}/*.a
# Remove bogus files:
rm -f $PKG/lib${LIBDIRSUFFIX}/*.a $PKG/lib${LIBDIRSUFFIX}/libattr.so $PKG/lib${LIBDIRSUFFIX}/*.la $PKG/usr/lib${LIBDIRSUFFIX}/*.la
# Make /usr/lib${LIBDIRSUFFIX}/libattr.so a symlink to /lib${LIBDIRSUFFIX}:
-( cd $PKG/usr/lib${LIBDIRSUFFIX} ; rm -f libattr.so ; ln -sf /lib${LIBDIRSUFFIX}/libattr.so.1 libattr.so )
+mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}
+ln -sf /lib${LIBDIRSUFFIX}/libattr.so.1 $PKG/usr/lib${LIBDIRSUFFIX}/libattr.so
# Fix shared library perms:
chmod 755 $PKG/lib${LIBDIRSUFFIX}/*
diff --git a/source/a/attr/attr.destdir.diff b/source/a/attr/attr.destdir.diff
deleted file mode 100644
index 5065675ba..000000000
--- a/source/a/attr/attr.destdir.diff
+++ /dev/null
@@ -1,36 +0,0 @@
---- ./include/builddefs.in.orig 2011-04-08 11:56:59.000000000 -0500
-+++ ./include/builddefs.in 2011-04-18 13:27:35.000000000 -0500
-@@ -40,14 +40,14 @@
- PKG_VERSION = @pkg_version@
- PKG_PLATFORM = @pkg_platform@
- PKG_DISTRIBUTION= @pkg_distribution@
--PKG_BIN_DIR = @bindir@
--PKG_SBIN_DIR = @sbindir@
--PKG_LIB_DIR = @libdir@@libdirsuffix@
--PKG_DEVLIB_DIR = @libexecdir@@libdirsuffix@
--PKG_INC_DIR = @includedir@/attr
--PKG_MAN_DIR = @mandir@
--PKG_DOC_DIR = @datadir@/doc/@pkg_name@
--PKG_LOCALE_DIR = @datadir@/locale
-+PKG_BIN_DIR = $(DESTDIR)@bindir@
-+PKG_SBIN_DIR = $(DESTDIR)@sbindir@
-+PKG_LIB_DIR = $(DESTDIR)@libdir@@libdirsuffix@
-+PKG_DEVLIB_DIR = $(DESTDIR)@libexecdir@@libdirsuffix@
-+PKG_INC_DIR = $(DESTDIR)@includedir@/attr
-+PKG_MAN_DIR = $(DESTDIR)@mandir@
-+PKG_DOC_DIR = $(DESTDIR)@datadir@/doc/@pkg_name@
-+PKG_LOCALE_DIR = $(DESTDIR)@datadir@/locale
-
- CC = @cc@
- AWK = @awk@
---- ./include/buildmacros.orig 2011-04-08 11:56:59.000000000 -0500
-+++ ./include/buildmacros 2011-04-18 13:28:23.000000000 -0500
-@@ -40,7 +40,7 @@
- $(LFILES:.l=.o) \
- $(YFILES:%.y=%.tab.o)
-
--INSTALL = $(TOPDIR)/include/install-sh -o $(PKG_USER) -g $(PKG_GROUP)
-+INSTALL = $(TOPDIR)/include/install-sh
-
- SHELL = /bin/sh
- IMAGES_DIR = $(TOPDIR)/all-images
diff --git a/source/a/bash/bash-4.2-patches/bash42-001 b/source/a/bash/bash-4.2-patches/bash42-001
deleted file mode 100644
index 547aaa06f..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-001
+++ /dev/null
@@ -1,78 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-001
-
-Bug-Reported-by: Juergen Daubert <jue@jue.li>
-Bug-Reference-ID: <20110214175132.GA19813@jue.netz>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00125.html
-
-Bug-Description:
-
-When running in Posix mode, bash does not correctly expand the right-hand
-side of a double-quoted word expansion containing single quotes.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/subst.c 2011-01-02 16:12:51.000000000 -0500
---- subst.c 2011-02-19 00:00:00.000000000 -0500
-***************
-*** 1380,1387 ****
-
- /* The handling of dolbrace_state needs to agree with the code in parse.y:
-! parse_matched_pair() */
-! dolbrace_state = 0;
-! if (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES))
-! dolbrace_state = (flags & SX_POSIXEXP) ? DOLBRACE_QUOTE : DOLBRACE_PARAM;
-
- i = *sindex;
---- 1380,1389 ----
-
- /* The handling of dolbrace_state needs to agree with the code in parse.y:
-! parse_matched_pair(). The different initial value is to handle the
-! case where this function is called to parse the word in
-! ${param op word} (SX_WORD). */
-! dolbrace_state = (flags & SX_WORD) ? DOLBRACE_WORD : DOLBRACE_PARAM;
-! if ((quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) && (flags & SX_POSIXEXP))
-! dolbrace_state = DOLBRACE_QUOTE;
-
- i = *sindex;
-***************
-*** 7177,7181 ****
- /* Extract the contents of the ${ ... } expansion
- according to the Posix.2 rules. */
-! value = extract_dollar_brace_string (string, &sindex, quoted, (c == '%' || c == '#') ? SX_POSIXEXP : 0);
- if (string[sindex] == RBRACE)
- sindex++;
---- 7181,7185 ----
- /* Extract the contents of the ${ ... } expansion
- according to the Posix.2 rules. */
-! value = extract_dollar_brace_string (string, &sindex, quoted, (c == '%' || c == '#' || c =='/' || c == '^' || c == ',' || c ==':') ? SX_POSIXEXP|SX_WORD : SX_WORD);
- if (string[sindex] == RBRACE)
- sindex++;
-*** ../bash-4.2-patched/subst.h 2010-12-02 20:21:29.000000000 -0500
---- subst.h 2011-02-16 21:12:09.000000000 -0500
-***************
-*** 57,60 ****
---- 57,61 ----
- #define SX_ARITHSUB 0x0080 /* extracting $(( ... )) (currently unused) */
- #define SX_POSIXEXP 0x0100 /* extracting new Posix pattern removal expansions in extract_dollar_brace_string */
-+ #define SX_WORD 0x0200 /* extracting word in ${param op word} */
-
- /* Remove backslashes which are quoting backquotes from STRING. Modifies
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 0
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 1
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-002 b/source/a/bash/bash-4.2-patches/bash42-002
deleted file mode 100644
index 077c7e0f8..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-002
+++ /dev/null
@@ -1,60 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-002
-
-Bug-Reported-by: Clark J. Wang <dearvoid@gmail.com>
-Bug-Reference-ID: <AANLkTimGbW7aC4E5infXP6ku5WPci4t=xVc+L1SyHqrD@mail.gmail.com>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00157.html
-
-Bug-Description:
-
-The readline vi-mode `cc', `dd', and `yy' commands failed to modify the
-entire line.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/lib/readline/vi_mode.c 2010-11-20 19:51:39.000000000 -0500
---- lib/readline/vi_mode.c 2011-02-17 20:24:25.000000000 -0500
-***************
-*** 1115,1119 ****
- _rl_vi_last_motion = c;
- RL_UNSETSTATE (RL_STATE_VIMOTION);
-! return (0);
- }
- #if defined (READLINE_CALLBACKS)
---- 1115,1119 ----
- _rl_vi_last_motion = c;
- RL_UNSETSTATE (RL_STATE_VIMOTION);
-! return (vidomove_dispatch (m));
- }
- #if defined (READLINE_CALLBACKS)
-*** ../bash-4.2-patched/lib/readline/callback.c 2010-06-06 12:18:58.000000000 -0400
---- lib/readline/callback.c 2011-02-17 20:43:28.000000000 -0500
-***************
-*** 149,152 ****
---- 149,155 ----
- /* Should handle everything, including cleanup, numeric arguments,
- and turning off RL_STATE_VIMOTION */
-+ if (RL_ISSTATE (RL_STATE_NUMERICARG) == 0)
-+ _rl_internal_char_cleanup ();
-+
- return;
- }
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 1
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 2
-
- #endif /* _PATCHLEVEL_H_ */
-
diff --git a/source/a/bash/bash-4.2-patches/bash42-003 b/source/a/bash/bash-4.2-patches/bash42-003
deleted file mode 100644
index c488e96b2..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-003
+++ /dev/null
@@ -1,318 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-003
-
-Bug-Reported-by: Clark J. Wang <dearvoid@gmail.com>
-Bug-Reference-ID: <AANLkTikZ_rVV-frR8Fh0PzhXnMKnm5XsUR-F3qtPPs5G@mail.gmail.com>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00136.html
-
-Bug-Description:
-
-When using the pattern replacement and pattern removal word expansions, bash
-miscalculates the possible match length in the presence of an unescaped left
-bracket without a closing right bracket, resulting in a failure to match
-the pattern.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/lib/glob/gmisc.c 2011-02-05 16:11:17.000000000 -0500
---- lib/glob/gmisc.c 2011-02-18 23:53:42.000000000 -0500
-***************
-*** 78,83 ****
- size_t wmax;
- {
-! wchar_t wc, *wbrack;
-! int matlen, t, in_cclass, in_collsym, in_equiv;
-
- if (*wpat == 0)
---- 78,83 ----
- size_t wmax;
- {
-! wchar_t wc;
-! int matlen, bracklen, t, in_cclass, in_collsym, in_equiv;
-
- if (*wpat == 0)
-***************
-*** 119,123 ****
- case L'[':
- /* scan for ending `]', skipping over embedded [:...:] */
-! wbrack = wpat;
- wc = *wpat++;
- do
---- 119,123 ----
- case L'[':
- /* scan for ending `]', skipping over embedded [:...:] */
-! bracklen = 1;
- wc = *wpat++;
- do
-***************
-*** 125,140 ****
- if (wc == 0)
- {
-! matlen += wpat - wbrack - 1; /* incremented below */
-! break;
- }
- else if (wc == L'\\')
- {
-! wc = *wpat++;
-! if (*wpat == 0)
-! break;
- }
- else if (wc == L'[' && *wpat == L':') /* character class */
- {
- wpat++;
- in_cclass = 1;
- }
---- 125,148 ----
- if (wc == 0)
- {
-! wpat--; /* back up to NUL */
-! matlen += bracklen;
-! goto bad_bracket;
- }
- else if (wc == L'\\')
- {
-! /* *wpat == backslash-escaped character */
-! bracklen++;
-! /* If the backslash or backslash-escape ends the string,
-! bail. The ++wpat skips over the backslash escape */
-! if (*wpat == 0 || *++wpat == 0)
-! {
-! matlen += bracklen;
-! goto bad_bracket;
-! }
- }
- else if (wc == L'[' && *wpat == L':') /* character class */
- {
- wpat++;
-+ bracklen++;
- in_cclass = 1;
- }
-***************
-*** 142,145 ****
---- 150,154 ----
- {
- wpat++;
-+ bracklen++;
- in_cclass = 0;
- }
-***************
-*** 147,152 ****
- {
- wpat++;
- if (*wpat == L']') /* right bracket can appear as collating symbol */
-! wpat++;
- in_collsym = 1;
- }
---- 156,165 ----
- {
- wpat++;
-+ bracklen++;
- if (*wpat == L']') /* right bracket can appear as collating symbol */
-! {
-! wpat++;
-! bracklen++;
-! }
- in_collsym = 1;
- }
-***************
-*** 154,157 ****
---- 167,171 ----
- {
- wpat++;
-+ bracklen++;
- in_collsym = 0;
- }
-***************
-*** 159,164 ****
- {
- wpat++;
- if (*wpat == L']') /* right bracket can appear as equivalence class */
-! wpat++;
- in_equiv = 1;
- }
---- 173,182 ----
- {
- wpat++;
-+ bracklen++;
- if (*wpat == L']') /* right bracket can appear as equivalence class */
-! {
-! wpat++;
-! bracklen++;
-! }
- in_equiv = 1;
- }
-***************
-*** 166,174 ****
---- 184,196 ----
- {
- wpat++;
-+ bracklen++;
- in_equiv = 0;
- }
-+ else
-+ bracklen++;
- }
- while ((wc = *wpat++) != L']');
- matlen++; /* bracket expression can only match one char */
-+ bad_bracket:
- break;
- }
-***************
-*** 214,219 ****
- size_t max;
- {
-! char c, *brack;
-! int matlen, t, in_cclass, in_collsym, in_equiv;
-
- if (*pat == 0)
---- 236,241 ----
- size_t max;
- {
-! char c;
-! int matlen, bracklen, t, in_cclass, in_collsym, in_equiv;
-
- if (*pat == 0)
-***************
-*** 255,259 ****
- case '[':
- /* scan for ending `]', skipping over embedded [:...:] */
-! brack = pat;
- c = *pat++;
- do
---- 277,281 ----
- case '[':
- /* scan for ending `]', skipping over embedded [:...:] */
-! bracklen = 1;
- c = *pat++;
- do
-***************
-*** 261,276 ****
- if (c == 0)
- {
-! matlen += pat - brack - 1; /* incremented below */
-! break;
- }
- else if (c == '\\')
- {
-! c = *pat++;
-! if (*pat == 0)
-! break;
- }
- else if (c == '[' && *pat == ':') /* character class */
- {
- pat++;
- in_cclass = 1;
- }
---- 283,306 ----
- if (c == 0)
- {
-! pat--; /* back up to NUL */
-! matlen += bracklen;
-! goto bad_bracket;
- }
- else if (c == '\\')
- {
-! /* *pat == backslash-escaped character */
-! bracklen++;
-! /* If the backslash or backslash-escape ends the string,
-! bail. The ++pat skips over the backslash escape */
-! if (*pat == 0 || *++pat == 0)
-! {
-! matlen += bracklen;
-! goto bad_bracket;
-! }
- }
- else if (c == '[' && *pat == ':') /* character class */
- {
- pat++;
-+ bracklen++;
- in_cclass = 1;
- }
-***************
-*** 278,281 ****
---- 308,312 ----
- {
- pat++;
-+ bracklen++;
- in_cclass = 0;
- }
-***************
-*** 283,288 ****
- {
- pat++;
- if (*pat == ']') /* right bracket can appear as collating symbol */
-! pat++;
- in_collsym = 1;
- }
---- 314,323 ----
- {
- pat++;
-+ bracklen++;
- if (*pat == ']') /* right bracket can appear as collating symbol */
-! {
-! pat++;
-! bracklen++;
-! }
- in_collsym = 1;
- }
-***************
-*** 290,293 ****
---- 325,329 ----
- {
- pat++;
-+ bracklen++;
- in_collsym = 0;
- }
-***************
-*** 295,300 ****
- {
- pat++;
- if (*pat == ']') /* right bracket can appear as equivalence class */
-! pat++;
- in_equiv = 1;
- }
---- 331,340 ----
- {
- pat++;
-+ bracklen++;
- if (*pat == ']') /* right bracket can appear as equivalence class */
-! {
-! pat++;
-! bracklen++;
-! }
- in_equiv = 1;
- }
-***************
-*** 302,310 ****
---- 342,354 ----
- {
- pat++;
-+ bracklen++;
- in_equiv = 0;
- }
-+ else
-+ bracklen++;
- }
- while ((c = *pat++) != ']');
- matlen++; /* bracket expression can only match one char */
-+ bad_bracket:
- break;
- }
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 2
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 3
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-004 b/source/a/bash/bash-4.2-patches/bash42-004
deleted file mode 100644
index fe29f82c7..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-004
+++ /dev/null
@@ -1,53 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-004
-
-Bug-Reported-by: Mike Frysinger <vapier@gentoo.org>
-Bug-Reference-ID: <201102182106.17834.vapier@gentoo.org>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00222.html
-
-Bug-Description:
-
-When used in contexts where word splitting and quote removal were not
-performed, such as pattern removal or pattern substitution, empty strings
-(either literal or resulting from quoted variables that were unset or
-null) were not matched correctly, resulting in failure.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/subst.c 2011-01-02 16:12:51.000000000 -0500
---- subst.c 2011-02-18 22:30:13.000000000 -0500
-***************
-*** 3373,3379 ****
- if (string == 0 || *string == '\0')
- return (WORD_LIST *)NULL;
-
-! td.flags = 0;
- td.word = string;
- tresult = call_expand_word_internal (&td, quoted, 1, dollar_at_p, has_dollar_at);
- return (tresult);
---- 3373,3379 ----
- if (string == 0 || *string == '\0')
- return (WORD_LIST *)NULL;
-
-! td.flags = W_NOSPLIT2; /* no splitting, remove "" and '' */
- td.word = string;
- tresult = call_expand_word_internal (&td, quoted, 1, dollar_at_p, has_dollar_at);
- return (tresult);
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 3
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 4
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-005 b/source/a/bash/bash-4.2-patches/bash42-005
deleted file mode 100644
index 3ca9fc1da..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-005
+++ /dev/null
@@ -1,131 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-005
-
-Bug-Reported-by: Dennis Williamson <dennistwilliamson@gmail.com>
-Bug-Reference-ID: <AANLkTikDbEV5rnbPc0zOfmZfBcg0xGetzLLzK+KjRiNa@mail.gmail.com>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00147.html
-
-Bug-Description:
-
-Systems that use tzset() to set the local timezone require the TZ variable
-to be in the environment. Bash must make sure the environment has been
-modified with any updated value for TZ before calling tzset(). This
-affects prompt string expansions and the `%T' printf conversion specification
-on systems that do not allow bash to supply a replacement for getenv(3).
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/variables.h 2010-12-02 20:22:01.000000000 -0500
---- variables.h 2011-02-19 19:57:12.000000000 -0500
-***************
-*** 314,317 ****
---- 314,318 ----
- extern void sort_variables __P((SHELL_VAR **));
-
-+ extern int chkexport __P((char *));
- extern void maybe_make_export_env __P((void));
- extern void update_export_env_inplace __P((char *, int, char *));
-*** ../bash-4.2-patched/variables.c 2011-01-24 20:07:48.000000000 -0500
---- variables.c 2011-02-19 20:04:50.000000000 -0500
-***************
-*** 3654,3657 ****
---- 3654,3673 ----
- }
-
-+ int
-+ chkexport (name)
-+ char *name;
-+ {
-+ SHELL_VAR *v;
-+
-+ v = find_variable (name);
-+ if (exported_p (v))
-+ {
-+ array_needs_making = 1;
-+ maybe_make_export_env ();
-+ return 1;
-+ }
-+ return 0;
-+ }
-+
- void
- maybe_make_export_env ()
-***************
-*** 4215,4219 ****
- { "TEXTDOMAINDIR", sv_locale },
-
-! #if defined (HAVE_TZSET) && defined (PROMPT_STRING_DECODE)
- { "TZ", sv_tz },
- #endif
---- 4231,4235 ----
- { "TEXTDOMAINDIR", sv_locale },
-
-! #if defined (HAVE_TZSET)
- { "TZ", sv_tz },
- #endif
-***************
-*** 4559,4568 ****
- #endif /* HISTORY */
-
-! #if defined (HAVE_TZSET) && defined (PROMPT_STRING_DECODE)
- void
- sv_tz (name)
- char *name;
- {
-! tzset ();
- }
- #endif
---- 4575,4585 ----
- #endif /* HISTORY */
-
-! #if defined (HAVE_TZSET)
- void
- sv_tz (name)
- char *name;
- {
-! if (chkexport (name))
-! tzset ();
- }
- #endif
-*** ../bash-4.2-patched/parse.y 2011-01-02 15:48:11.000000000 -0500
---- parse.y 2011-02-19 20:05:00.000000000 -0500
-***************
-*** 5136,5139 ****
---- 5136,5142 ----
- /* Make the current time/date into a string. */
- (void) time (&the_time);
-+ #if defined (HAVE_TZSET)
-+ sv_tz ("TZ"); /* XXX -- just make sure */
-+ #endif
- tm = localtime (&the_time);
-
-*** ../bash-4.2-patched/builtins/printf.def 2010-11-23 10:02:55.000000000 -0500
---- builtins/printf.def 2011-02-19 20:05:04.000000000 -0500
-***************
-*** 466,469 ****
---- 466,472 ----
- else
- secs = arg;
-+ #if defined (HAVE_TZSET)
-+ sv_tz ("TZ"); /* XXX -- just make sure */
-+ #endif
- tm = localtime (&secs);
- n = strftime (timebuf, sizeof (timebuf), timefmt, tm);
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 4
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 5
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-006 b/source/a/bash/bash-4.2-patches/bash42-006
deleted file mode 100644
index be6e49c72..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-006
+++ /dev/null
@@ -1,46 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-006
-
-Bug-Reported-by: Allan McRae <allan@archlinux.org>
-Bug-Reference-ID: <4D6D0D0B.50908@archlinux.org>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-03/msg00001.html
-
-Bug-Description:
-
-A problem with bash42-005 caused it to dump core if TZ was unset.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/variables.c 2011-02-25 12:07:41.000000000 -0500
---- variables.c 2011-03-01 10:13:04.000000000 -0500
-***************
-*** 3661,3665 ****
-
- v = find_variable (name);
-! if (exported_p (v))
- {
- array_needs_making = 1;
---- 3661,3665 ----
-
- v = find_variable (name);
-! if (v && exported_p (v))
- {
- array_needs_making = 1;
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 5
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 6
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-007 b/source/a/bash/bash-4.2-patches/bash42-007
deleted file mode 100644
index d16156e27..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-007
+++ /dev/null
@@ -1,46 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-007
-
-Bug-Reported-by: Matthias Klose <doko@debian.org>
-Bug-Reference-ID: <4D6FD2AC.1010500@debian.org>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-03/msg00015.html
-
-Bug-Description:
-
-When used in contexts where word splitting and quote removal were not
-performed, such as case statement word expansion, empty strings
-(either literal or resulting from quoted variables that were unset or
-null) were not expanded correctly, resulting in failure.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/subst.c 2011-02-25 12:03:58.000000000 -0500
---- subst.c 2011-03-03 14:08:23.000000000 -0500
-***************
-*** 4609,4614 ****
---- 4611,4617 ----
- if (ifs_firstc == 0)
- #endif
- word->flags |= W_NOSPLIT;
-+ word->flags |= W_NOSPLIT2;
- result = call_expand_word_internal (word, quoted, 0, (int *)NULL, (int *)NULL);
- expand_no_split_dollar_star = 0;
-
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 6
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 7
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-008 b/source/a/bash/bash-4.2-patches/bash42-008
deleted file mode 100644
index 631abbdf7..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-008
+++ /dev/null
@@ -1,74 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-008
-
-Bug-Reported-by: Doug McMahon <mc2man@optonline.net>
-Bug-Reference-ID: <1299441211.2535.11.camel@doug-XPS-M1330>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-03/msg00050.html
-
-Bug-Description:
-
-Bash-4.2 does not attempt to save the shell history on receipt of a
-terminating signal that is handled synchronously. Unfortunately, the
-`close' button on most X11 terminal emulators sends SIGHUP, which
-kills the shell.
-
-This is a very small patch to save the history in the case that an
-interactive shell receives a SIGHUP or SIGTERM while in readline and
-reading a command.
-
-The next version of bash will do this differently.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/sig.c Tue Nov 23 08:21:22 2010
---- sig.c Tue Mar 8 21:28:32 2011
-***************
-*** 47,50 ****
---- 47,51 ----
- #if defined (READLINE)
- # include "bashline.h"
-+ # include <readline/readline.h>
- #endif
-
-***************
-*** 63,66 ****
---- 64,68 ----
- extern int history_lines_this_session;
- #endif
-+ extern int no_line_editing;
-
- extern void initialize_siglist ();
-***************
-*** 506,510 ****
- #if defined (HISTORY)
- /* XXX - will inhibit history file being written */
-! history_lines_this_session = 0;
- #endif
- terminate_immediately = 0;
---- 508,515 ----
- #if defined (HISTORY)
- /* XXX - will inhibit history file being written */
-! # if defined (READLINE)
-! if (interactive_shell == 0 || interactive == 0 || (sig != SIGHUP && sig != SIGTERM) || no_line_editing || (RL_ISSTATE (RL_STATE_READCMD) == 0))
-! # endif
-! history_lines_this_session = 0;
- #endif
- terminate_immediately = 0;
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 7
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 8
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-009 b/source/a/bash/bash-4.2-patches/bash42-009
deleted file mode 100644
index 83a7e2c74..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-009
+++ /dev/null
@@ -1,82 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-009
-
-Bug-Reported-by: <piuma@piumalab.org>
-Bug-Reference-ID: <4DAAC0DB.7060606@piumalab.org>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-04/msg00075.html
-
-Bug-Description:
-
-Under certain circumstances, running `fc -l' two times in succession with a
-relative history offset at the end of the history will result in an incorrect
-calculation of the last history entry and a seg fault.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/builtins/fc.def 2010-05-30 18:25:38.000000000 -0400
---- builtins/fc.def 2011-04-19 15:46:17.000000000 -0400
-***************
-*** 305,309 ****
-
- /* XXX */
-! if (saved_command_line_count > 0 && i == last_hist && hlist[last_hist] == 0)
- while (last_hist >= 0 && hlist[last_hist] == 0)
- last_hist--;
---- 305,309 ----
-
- /* XXX */
-! if (i == last_hist && hlist[last_hist] == 0)
- while (last_hist >= 0 && hlist[last_hist] == 0)
- last_hist--;
-***************
-*** 476,480 ****
- {
- int sign, n, clen, rh;
-! register int i, j;
- register char *s;
-
---- 476,480 ----
- {
- int sign, n, clen, rh;
-! register int i, j, last_hist;
- register char *s;
-
-***************
-*** 496,500 ****
- calculation as if it were on. */
- rh = remember_on_history || ((subshell_environment & SUBSHELL_COMSUB) && enable_history_list);
-! i -= rh + hist_last_line_added;
-
- /* No specification defaults to most recent command. */
---- 496,508 ----
- calculation as if it were on. */
- rh = remember_on_history || ((subshell_environment & SUBSHELL_COMSUB) && enable_history_list);
-! last_hist = i - rh - hist_last_line_added;
-!
-! if (i == last_hist && hlist[last_hist] == 0)
-! while (last_hist >= 0 && hlist[last_hist] == 0)
-! last_hist--;
-! if (last_hist < 0)
-! return (-1);
-!
-! i = last_hist;
-
- /* No specification defaults to most recent command. */
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 8
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 9
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-010 b/source/a/bash/bash-4.2-patches/bash42-010
deleted file mode 100644
index e408abd61..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-010
+++ /dev/null
@@ -1,61 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-010
-
-Bug-Reported-by: Mike Frysinger <vapier@gentoo.org>
-Bug-Reference-ID: <201104122356.20160.vapier@gentoo.org>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-04/msg00058.html
-
-Bug-Description:
-
-Bash did not correctly print/reproduce here documents attached to commands
-inside compound commands such as arithmetic for loops and user-specified
-subshells. This affected the execution of such commands inside a shell
-function when the function definition is saved and later restored using
-`.' or `eval'.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/print_cmd.c 2010-05-30 18:34:08.000000000 -0400
---- print_cmd.c 2011-04-14 10:43:18.000000000 -0400
-***************
-*** 316,319 ****
---- 317,321 ----
- skip_this_indent++;
- make_command_string_internal (command->value.Subshell->command);
-+ PRINT_DEFERRED_HEREDOCS ("");
- cprintf (" )");
- break;
-***************
-*** 593,596 ****
---- 606,610 ----
- indentation += indentation_amount;
- make_command_string_internal (arith_for_command->action);
-+ PRINT_DEFERRED_HEREDOCS ("");
- semicolon ();
- indentation -= indentation_amount;
-***************
-*** 654,657 ****
---- 668,672 ----
-
- make_command_string_internal (group_command->command);
-+ PRINT_DEFERRED_HEREDOCS ("");
-
- if (inside_function_def)
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 9
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 10
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-011 b/source/a/bash/bash-4.2-patches/bash42-011
deleted file mode 100644
index 26fdf65f6..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-011
+++ /dev/null
@@ -1,46 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-011
-
-Bug-Reported-by: "David Parks" <davidparks21@yahoo.com>
-Bug-Reference-ID: <014101cc82c6$46ac1540$d4043fc0$@com>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-10/msg00031.html
-
-Bug-Description:
-
-Overwriting a value in an associative array causes the memory allocated to
-store the key on the second and subsequent assignments to leak.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/assoc.c 2009-08-05 20:19:40.000000000 -0400
---- assoc.c 2011-10-04 20:23:07.000000000 -0400
-***************
-*** 78,81 ****
---- 78,86 ----
- if (b == 0)
- return -1;
-+ /* If we are overwriting an existing element's value, we're not going to
-+ use the key. Nothing in the array assignment code path frees the key
-+ string, so we can free it here to avoid a memory leak. */
-+ if (b->key != key)
-+ free (key);
- FREE (b->data);
- b->data = value ? savestring (value) : (char *)0;
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 10
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 11
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-012 b/source/a/bash/bash-4.2-patches/bash42-012
deleted file mode 100644
index 70f0a56b6..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-012
+++ /dev/null
@@ -1,151 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-012
-
-Bug-Reported-by: Rui Santos <rsantos@grupopie.com>
-Bug-Reference-ID: <4E04C6D0.2020507@grupopie.com>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-06/msg00079.html
-
-Bug-Description:
-
-When calling the parser to recursively parse a command substitution within
-an arithmetic expansion, the shell overwrote the saved shell input line and
-associated state, resulting in a garbled command.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/parse.y 2011-02-26 19:19:05.000000000 -0500
---- parse.y 2011-06-24 20:08:22.000000000 -0400
-***************
-*** 3843,3846 ****
---- 3849,3853 ----
- {
- sh_parser_state_t ps;
-+ sh_input_line_state_t ls;
- int orig_ind, nc, sflags;
- char *ret, *s, *ep, *ostring;
-***************
-*** 3850,3857 ****
---- 3857,3866 ----
- ostring = string;
-
-+ /*itrace("xparse_dolparen: size = %d shell_input_line = `%s'", shell_input_line_size, shell_input_line);*/
- sflags = SEVAL_NONINT|SEVAL_NOHIST|SEVAL_NOFREE;
- if (flags & SX_NOLONGJMP)
- sflags |= SEVAL_NOLONGJMP;
- save_parser_state (&ps);
-+ save_input_line_state (&ls);
-
- /*(*/
-***************
-*** 3862,3865 ****
---- 3871,3876 ----
- restore_parser_state (&ps);
- reset_parser ();
-+ /* reset_parser clears shell_input_line and associated variables */
-+ restore_input_line_state (&ls);
- if (interactive)
- token_to_read = 0;
-***************
-*** 5909,5912 ****
---- 5920,5929 ----
- ps->echo_input_at_read = echo_input_at_read;
-
-+ ps->token = token;
-+ ps->token_buffer_size = token_buffer_size;
-+ /* Force reallocation on next call to read_token_word */
-+ token = 0;
-+ token_buffer_size = 0;
-+
- return (ps);
- }
-***************
-*** 5950,5953 ****
---- 5967,6006 ----
- expand_aliases = ps->expand_aliases;
- echo_input_at_read = ps->echo_input_at_read;
-+
-+ FREE (token);
-+ token = ps->token;
-+ token_buffer_size = ps->token_buffer_size;
-+ }
-+
-+ sh_input_line_state_t *
-+ save_input_line_state (ls)
-+ sh_input_line_state_t *ls;
-+ {
-+ if (ls == 0)
-+ ls = (sh_input_line_state_t *)xmalloc (sizeof (sh_input_line_state_t));
-+ if (ls == 0)
-+ return ((sh_input_line_state_t *)NULL);
-+
-+ ls->input_line = shell_input_line;
-+ ls->input_line_size = shell_input_line_size;
-+ ls->input_line_len = shell_input_line_len;
-+ ls->input_line_index = shell_input_line_index;
-+
-+ /* force reallocation */
-+ shell_input_line = 0;
-+ shell_input_line_size = shell_input_line_len = shell_input_line_index = 0;
-+ }
-+
-+ void
-+ restore_input_line_state (ls)
-+ sh_input_line_state_t *ls;
-+ {
-+ FREE (shell_input_line);
-+ shell_input_line = ls->input_line;
-+ shell_input_line_size = ls->input_line_size;
-+ shell_input_line_len = ls->input_line_len;
-+ shell_input_line_index = ls->input_line_index;
-+
-+ set_line_mbstate ();
- }
-
-*** ../bash-4.2-patched/shell.h 2011-01-06 22:16:55.000000000 -0500
---- shell.h 2011-06-24 19:12:25.000000000 -0400
-***************
-*** 137,140 ****
---- 139,145 ----
- int *token_state;
-
-+ char *token;
-+ int token_buffer_size;
-+
- /* input line state -- line number saved elsewhere */
- int input_line_terminator;
-***************
-*** 167,171 ****
---- 172,186 ----
- } sh_parser_state_t;
-
-+ typedef struct _sh_input_line_state_t {
-+ char *input_line;
-+ int input_line_index;
-+ int input_line_size;
-+ int input_line_len;
-+ } sh_input_line_state_t;
-+
- /* Let's try declaring these here. */
- extern sh_parser_state_t *save_parser_state __P((sh_parser_state_t *));
- extern void restore_parser_state __P((sh_parser_state_t *));
-+
-+ extern sh_input_line_state_t *save_input_line_state __P((sh_input_line_state_t *));
-+ extern void restore_input_line_state __P((sh_input_line_state_t *));
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 11
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 12
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-013 b/source/a/bash/bash-4.2-patches/bash42-013
deleted file mode 100644
index 5bb186b3a..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-013
+++ /dev/null
@@ -1,52 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-013
-
-Bug-Reported-by: Marten Wikstrom <marten.wikstrom@keystream.se>
-Bug-Reference-ID: <BANLkTikKECAh94ZEX68iQvxYuPeEM_xoSQ@mail.gmail.com>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-05/msg00049.html
-
-Bug-Description:
-
-An off-by-one error caused the shell to skip over CTLNUL characters,
-which are used internally to mark quoted null strings. The effect
-was to have stray 0x7f characters left after expanding words like
-""""""""aa.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/subst.c 2011-03-06 14:11:11.000000000 -0500
---- subst.c 2011-05-11 11:23:33.000000000 -0400
-***************
-*** 3707,3711 ****
- }
- else if (string[i] == CTLNUL)
-! i++;
-
- prev_i = i;
---- 3710,3717 ----
- }
- else if (string[i] == CTLNUL)
-! {
-! i++;
-! continue;
-! }
-
- prev_i = i;
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 12
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 13
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-014 b/source/a/bash/bash-4.2-patches/bash42-014
deleted file mode 100644
index a43271c34..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-014
+++ /dev/null
@@ -1,47 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-014
-
-Bug-Reported-by: Shawn Bohrer <sbohrer@rgmadvisors.com>
-Bug-Reference-ID: <20110504152320.6E8F28130527@dev1.rgmadvisors.com>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-05/msg00018.html
-
-Bug-Description:
-
-The regular expression matching operator did not correctly match
-expressions with an embedded ^A.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/pathexp.c 2010-08-13 23:21:57.000000000 -0400
---- pathexp.c 2011-05-05 16:40:58.000000000 -0400
-***************
-*** 197,201 ****
- if ((qflags & QGLOB_FILENAME) && pathname[i+1] == '/')
- continue;
-! if ((qflags & QGLOB_REGEXP) && ere_char (pathname[i+1]) == 0)
- continue;
- temp[j++] = '\\';
---- 197,201 ----
- if ((qflags & QGLOB_FILENAME) && pathname[i+1] == '/')
- continue;
-! if (pathname[i+1] != CTLESC && (qflags & QGLOB_REGEXP) && ere_char (pathname[i+1]) == 0)
- continue;
- temp[j++] = '\\';
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 13
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 14
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-015 b/source/a/bash/bash-4.2-patches/bash42-015
deleted file mode 100644
index 865587385..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-015
+++ /dev/null
@@ -1,81 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-015
-
-Bug-Reported-by: <dnade.ext@orange-ftgroup.com>
-Bug-Reference-ID: <728_1312188080_4E3666B0_728_118711_1_3B5D3E0F95CC5C478D6500CDCE8B691F7AAAA4AA3D@PUEXCB2B.nanterre.francetelecom.fr>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-08/msg00000.html
-
-Bug-Description:
-
-When in a context where arithmetic evaluation is not taking place, the
-evaluator should not check for division by 0.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/expr.c 2010-12-21 11:12:13.000000000 -0500
---- expr.c 2011-08-02 20:58:28.000000000 -0400
-***************
-*** 477,480 ****
---- 481,492 ----
- if (special)
- {
-+ if ((op == DIV || op == MOD) && value == 0)
-+ {
-+ if (noeval == 0)
-+ evalerror (_("division by 0"));
-+ else
-+ value = 1;
-+ }
-+
- switch (op)
- {
-***************
-*** 483,493 ****
- break;
- case DIV:
-- if (value == 0)
-- evalerror (_("division by 0"));
- lvalue /= value;
- break;
- case MOD:
-- if (value == 0)
-- evalerror (_("division by 0"));
- lvalue %= value;
- break;
---- 495,501 ----
-***************
-*** 805,809 ****
-
- if (((op == DIV) || (op == MOD)) && (val2 == 0))
-! evalerror (_("division by 0"));
-
- if (op == MUL)
---- 813,822 ----
-
- if (((op == DIV) || (op == MOD)) && (val2 == 0))
-! {
-! if (noeval == 0)
-! evalerror (_("division by 0"));
-! else
-! val2 = 1;
-! }
-
- if (op == MUL)
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 14
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 15
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-016 b/source/a/bash/bash-4.2-patches/bash42-016
deleted file mode 100644
index 46025888b..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-016
+++ /dev/null
@@ -1,46 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-016
-
-Bug-Reported-by: Martin von Gagern <Martin.vGagern@gmx.net>
-Bug-Reference-ID: <4E43AD9E.8060501@gmx.net>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-08/msg00141.html
-
-Bug-Description:
-
-Bash should not check for mail while executing the `eval' builtin.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/parse.y Fri Feb 25 12:07:41 2011
---- parse.y Thu Aug 11 19:02:26 2011
-***************
-*** 2500,2504 ****
- is the mail alarm reset; nothing takes place in check_mail ()
- except the checking of mail. Please don't change this. */
-! if (prompt_is_ps1 && time_to_check_mail ())
- {
- check_mail ();
---- 2498,2502 ----
- is the mail alarm reset; nothing takes place in check_mail ()
- except the checking of mail. Please don't change this. */
-! if (prompt_is_ps1 && parse_and_execute_level == 0 && time_to_check_mail ())
- {
- check_mail ();
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 15
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 16
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-017 b/source/a/bash/bash-4.2-patches/bash42-017
deleted file mode 100644
index 010ed1e50..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-017
+++ /dev/null
@@ -1,47 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-017
-
-Bug-Reported-by: Curtis Doty <Curtis@GreenKey.net>
-Bug-Reference-ID: <20110621035324.A4F70849F59@mx1.iParadigms.net>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-06/msg00053.html
-
-Bug-Description:
-
-Using `read -a foo' where foo was an already-declared associative array
-caused the shell to die with a segmentation fault.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/builtins/read.def 2011-01-04 11:43:36.000000000 -0500
---- builtins/read.def 2011-06-21 10:31:02.000000000 -0400
-***************
-*** 643,646 ****
---- 642,651 ----
- return EXECUTION_FAILURE; /* readonly or noassign */
- }
-+ if (assoc_p (var))
-+ {
-+ builtin_error (_("%s: cannot convert associative to indexed array"), arrayname);
-+ xfree (input_string);
-+ return EXECUTION_FAILURE; /* existing associative array */
-+ }
- array_flush (array_cell (var));
-
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 16
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 17
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-018 b/source/a/bash/bash-4.2-patches/bash42-018
deleted file mode 100644
index 5d11dce16..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-018
+++ /dev/null
@@ -1,74 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-018
-
-Bug-Reported-by: Thomas Cort <tcort@minix3.org>
-Bug-Reference-ID: <BANLkTik-ebGGw3k_1YtB=RyfV1bsqdxC_g@mail.gmail.com>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-06/msg00110.html
-
-Bug-Description:
-
-Bash fails to compile unless JOB_CONTROL is defined.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/execute_cmd.c 2011-02-09 17:32:25.000000000 -0500
---- execute_cmd.c 2011-11-06 15:12:48.000000000 -0500
-***************
-*** 2197,2200 ****
---- 2315,2319 ----
- cmd->flags |= CMD_IGNORE_RETURN;
-
-+ #if defined (JOB_CONTROL)
- lastpipe_flag = 0;
- begin_unwind_frame ("lastpipe-exec");
-***************
-*** 2216,2228 ****
- add_unwind_protect (lastpipe_cleanup, lastpipe_jid);
- }
-! cmd->flags |= CMD_LASTPIPE;
- }
- if (prev >= 0)
- add_unwind_protect (close, prev);
-
- exec_result = execute_command_internal (cmd, asynchronous, prev, pipe_out, fds_to_close);
-
- if (lstdin > 0)
- restore_stdin (lstdin);
-
- if (prev >= 0)
---- 2335,2351 ----
- add_unwind_protect (lastpipe_cleanup, lastpipe_jid);
- }
-! if (cmd)
-! cmd->flags |= CMD_LASTPIPE;
- }
- if (prev >= 0)
- add_unwind_protect (close, prev);
-+ #endif
-
- exec_result = execute_command_internal (cmd, asynchronous, prev, pipe_out, fds_to_close);
-
-+ #if defined (JOB_CONTROL)
- if (lstdin > 0)
- restore_stdin (lstdin);
-+ #endif
-
- if (prev >= 0)
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 17
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 18
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-019 b/source/a/bash/bash-4.2-patches/bash42-019
deleted file mode 100644
index 5fce40ae5..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-019
+++ /dev/null
@@ -1,47 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-019
-
-Bug-Reported-by: Diego Augusto Molina <diegoaugustomolina@gmail.com>
-Bug-Reference-ID: <CAGOxLdHcSQu3ck9Qy3pRjj_NBU5tAPSAvNm-95-nLQ9Szwb6aA@mail.gmail.com>
-Bug-Reference-URL: lists.gnu.org/archive/html/bug-bash/2011-09/msg00047.html
-
-Bug-Description:
-
-Using `declare' with attributes and an invalid array variable name or
-assignment reference resulted in a segmentation fault instead of a
-declaration error.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/builtins/declare.def 2010-05-30 18:25:21.000000000 -0400
---- builtins/declare.def 2011-09-15 15:20:20.000000000 -0400
-***************
-*** 514,517 ****
---- 514,522 ----
- var = assign_array_element (name, value, 0); /* XXX - not aflags */
- *subscript_start = '\0';
-+ if (var == 0) /* some kind of assignment error */
-+ {
-+ assign_error++;
-+ NEXT_VARIABLE ();
-+ }
- }
- else if (simple_array_assign)
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 18
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 19
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-020 b/source/a/bash/bash-4.2-patches/bash42-020
deleted file mode 100644
index a1dd0443e..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-020
+++ /dev/null
@@ -1,60 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-020
-
-Bug-Reported-by: Vincent Sheffer <vince.sheffer@apisphere.com>
-Bug-Reference-ID: <F13C1C4F-C44C-4071-BFED-4BB6D13CF92F@apisphere.com>
-Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-readline/2011-08/msg00000.html
-
-Bug-Description:
-
-The shared object helper script needs to be updated for Mac OS X 10.7
-(Lion, darwin11).
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/support/shobj-conf 2009-10-28 09:20:21.000000000 -0400
---- support/shobj-conf 2011-08-27 13:25:23.000000000 -0400
-***************
-*** 158,162 ****
-
- # Darwin/MacOS X
-! darwin[89]*|darwin10*)
- SHOBJ_STATUS=supported
- SHLIB_STATUS=supported
---- 172,176 ----
-
- # Darwin/MacOS X
-! darwin[89]*|darwin1[012]*)
- SHOBJ_STATUS=supported
- SHLIB_STATUS=supported
-***************
-*** 187,191 ****
-
- case "${host_os}" in
-! darwin[789]*|darwin10*) SHOBJ_LDFLAGS=''
- SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
- ;;
---- 201,205 ----
-
- case "${host_os}" in
-! darwin[789]*|darwin1[012]*) SHOBJ_LDFLAGS=''
- SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
- ;;
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 19
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 20
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-021 b/source/a/bash/bash-4.2-patches/bash42-021
deleted file mode 100644
index b6153c784..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-021
+++ /dev/null
@@ -1,61 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-021
-
-Bug-Reported-by: Dan Douglas <ormaaj@gmail.com>
-Bug-Reference-ID: <4585554.nZWb4q7YoZ@smorgbox>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-12/msg00084.html
-
-Bug-Description:
-
-Using `read -N' to assign values to an array can result in NUL values being
-assigned to some array elements. These values cause seg faults when referenced
-later.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/builtins/read.def 2011-11-21 18:03:38.000000000 -0500
---- builtins/read.def 2011-12-19 19:52:12.000000000 -0500
-***************
-*** 738,742 ****
- }
- else
-! var = bind_read_variable (varname, t);
- }
- else
---- 775,779 ----
- }
- else
-! var = bind_read_variable (varname, t ? t : "");
- }
- else
-***************
-*** 799,803 ****
- }
- else
-! var = bind_read_variable (list->word->word, input_string);
-
- if (var)
---- 836,840 ----
- }
- else
-! var = bind_read_variable (list->word->word, input_string ? input_string : "");
-
- if (var)
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 20
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 21
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-022 b/source/a/bash/bash-4.2-patches/bash42-022
deleted file mode 100644
index 0067b1335..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-022
+++ /dev/null
@@ -1,61 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-022
-
-Bug-Reported-by: Gregory Margo <gmargo@pacbell.net>
-Bug-Reference-ID: <20110727174529.GA3333@pacbell.net>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-07/msg00102.html
-
-Bug-Description:
-
-The return value from lseek is `off_t'. This can cause corrupted return
-values when the file offset is greater than 2**31 - 1.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/lib/sh/zread.c Mon Mar 2 08:54:45 2009
---- lib/sh/zread.c Thu Jul 28 18:16:53 2011
-***************
-*** 161,166 ****
- int fd;
- {
-! off_t off;
-! int r;
-
- off = lused - lind;
---- 161,165 ----
- int fd;
- {
-! off_t off, r;
-
- off = lused - lind;
-***************
-*** 169,173 ****
- r = lseek (fd, -off, SEEK_CUR);
-
-! if (r >= 0)
- lused = lind = 0;
- }
---- 168,172 ----
- r = lseek (fd, -off, SEEK_CUR);
-
-! if (r != -1)
- lused = lind = 0;
- }
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 21
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 22
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-023 b/source/a/bash/bash-4.2-patches/bash42-023
deleted file mode 100644
index 4f204efb0..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-023
+++ /dev/null
@@ -1,62 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-023
-
-Bug-Reported-by: Ewan Mellor <Ewan.Mellor@eu.citrix.com>
-Bug-Reference-ID: <6005BE083BF501439A84DC3523BAC82DC4B964FD12@LONPMAILBOX01.citrite.net>
-Bug-Reference-URL:
-
-Bug-Description:
-
-Under some circumstances, an exit trap triggered by a bad substitution
-error when errexit is enabled will cause the shell to exit with an
-incorrect exit status (0).
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/subst.c 2011-11-21 12:04:38.000000000 -0500
---- subst.c 2012-02-08 13:36:28.000000000 -0500
-***************
-*** 7275,7278 ****
---- 7281,7285 ----
- case '\0':
- bad_substitution:
-+ last_command_exit_value = EXECUTION_FAILURE;
- report_error (_("%s: bad substitution"), string ? string : "??");
- FREE (value);
-*** ../bash-4.2-patched/error.c 2009-08-21 22:31:31.000000000 -0400
---- error.c 2012-02-25 15:54:40.000000000 -0500
-***************
-*** 201,205 ****
- va_end (args);
- if (exit_immediately_on_error)
-! exit_shell (1);
- }
-
---- 201,209 ----
- va_end (args);
- if (exit_immediately_on_error)
-! {
-! if (last_command_exit_value == 0)
-! last_command_exit_value = 1;
-! exit_shell (last_command_exit_value);
-! }
- }
-
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 22
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 23
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-024 b/source/a/bash/bash-4.2-patches/bash42-024
deleted file mode 100644
index b7b1158b8..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-024
+++ /dev/null
@@ -1,45 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-024
-
-Bug-Reported-by: Jim Avera <james_avera@yahoo.com>
-Bug-Reference-ID: <4F29E07A.80405@yahoo.com>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-02/msg00001.html
-
-Bug-Description:
-
-When `printf -v' is used to set an array element, the format string contains
-`%b', and the corresponding argument is the empty string, the buffer used
-to store the value to be assigned can be NULL, which results in NUL being
-assigned to the array element. This causes a seg fault when it's used later.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/builtins/printf.def 2011-02-25 12:07:41.000000000 -0500
---- builtins/printf.def 2012-02-02 08:37:12.000000000 -0500
-***************
-*** 256,259 ****
---- 257,262 ----
- {
- vflag = 1;
-+ if (vbsize == 0)
-+ vbuf = xmalloc (vbsize = 16);
- vblen = 0;
- if (vbuf)
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 23
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 24
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-025 b/source/a/bash/bash-4.2-patches/bash42-025
deleted file mode 100644
index 34ac34300..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-025
+++ /dev/null
@@ -1,143 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-025
-
-Bug-Reported-by: Bill Gradwohl <bill@ycc.com>
-Bug-Reference-ID: <CAFyvKis-UfuOWr5THBRKh=vYHDoKEEgdW8hN1RviTuYQ00Lu5A@mail.gmail.com>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/help-bash/2012-03/msg00078.html
-
-Bug-Description:
-
-When used in a shell function, `declare -g -a array=(compound assignment)'
-creates a local variable instead of a global one.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/command.h 2010-08-02 19:36:51.000000000 -0400
---- command.h 2012-04-01 12:38:35.000000000 -0400
-***************
-*** 98,101 ****
---- 98,102 ----
- #define W_ASSIGNASSOC 0x400000 /* word looks like associative array assignment */
- #define W_ARRAYIND 0x800000 /* word is an array index being expanded */
-+ #define W_ASSNGLOBAL 0x1000000 /* word is a global assignment to declare (declare/typeset -g) */
-
- /* Possible values for subshell_environment */
-*** ../bash-4.2-patched/execute_cmd.c 2011-11-21 18:03:41.000000000 -0500
---- execute_cmd.c 2012-04-01 12:42:03.000000000 -0400
-***************
-*** 3581,3585 ****
- WORD_LIST *w;
- struct builtin *b;
-! int assoc;
-
- if (words == 0)
---- 3581,3585 ----
- WORD_LIST *w;
- struct builtin *b;
-! int assoc, global;
-
- if (words == 0)
-***************
-*** 3587,3591 ****
-
- b = 0;
-! assoc = 0;
-
- for (w = words; w; w = w->next)
---- 3587,3591 ----
-
- b = 0;
-! assoc = global = 0;
-
- for (w = words; w; w = w->next)
-***************
-*** 3604,3607 ****
---- 3604,3609 ----
- if (assoc)
- w->word->flags |= W_ASSIGNASSOC;
-+ if (global)
-+ w->word->flags |= W_ASSNGLOBAL;
- #endif
- }
-***************
-*** 3609,3613 ****
- /* Note that we saw an associative array option to a builtin that takes
- assignment statements. This is a bit of a kludge. */
-! else if (w->word->word[0] == '-' && strchr (w->word->word, 'A'))
- {
- if (b == 0)
---- 3611,3618 ----
- /* Note that we saw an associative array option to a builtin that takes
- assignment statements. This is a bit of a kludge. */
-! else if (w->word->word[0] == '-' && (strchr (w->word->word+1, 'A') || strchr (w->word->word+1, 'g')))
-! #else
-! else if (w->word->word[0] == '-' && strchr (w->word->word+1, 'g'))
-! #endif
- {
- if (b == 0)
-***************
-*** 3619,3626 ****
- words->word->flags |= W_ASSNBLTIN;
- }
-! if (words->word->flags & W_ASSNBLTIN)
- assoc = 1;
- }
-- #endif
- }
-
---- 3624,3632 ----
- words->word->flags |= W_ASSNBLTIN;
- }
-! if ((words->word->flags & W_ASSNBLTIN) && strchr (w->word->word+1, 'A'))
- assoc = 1;
-+ if ((words->word->flags & W_ASSNBLTIN) && strchr (w->word->word+1, 'g'))
-+ global = 1;
- }
- }
-
-*** ../bash-4.2-patched/subst.c 2012-03-11 17:35:13.000000000 -0400
---- subst.c 2012-04-01 12:38:35.000000000 -0400
-***************
-*** 367,370 ****
---- 367,375 ----
- fprintf (stderr, "W_ASSNBLTIN%s", f ? "|" : "");
- }
-+ if (f & W_ASSNGLOBAL)
-+ {
-+ f &= ~W_ASSNGLOBAL;
-+ fprintf (stderr, "W_ASSNGLOBAL%s", f ? "|" : "");
-+ }
- if (f & W_COMPASSIGN)
- {
-***************
-*** 2804,2808 ****
- else if (assign_list)
- {
-! if (word->flags & W_ASSIGNARG)
- aflags |= ASS_MKLOCAL;
- if (word->flags & W_ASSIGNASSOC)
---- 2809,2813 ----
- else if (assign_list)
- {
-! if ((word->flags & W_ASSIGNARG) && (word->flags & W_ASSNGLOBAL) == 0)
- aflags |= ASS_MKLOCAL;
- if (word->flags & W_ASSIGNASSOC)
-
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 24
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 25
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-026 b/source/a/bash/bash-4.2-patches/bash42-026
deleted file mode 100644
index e15d74807..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-026
+++ /dev/null
@@ -1,58 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-026
-
-Bug-Reported-by: Greg Wooledge <wooledg@eeg.ccf.org>
-Bug-Reference-ID: <20120425180443.GO22241@eeg.ccf.org>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-04/msg00172.html
-
-Bug-Description:
-
-The `lastpipe' option does not behave correctly on machines where the
-open file limit is less than 256.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/execute_cmd.c 2011-11-21 12:04:47.000000000 -0500
---- execute_cmd.c 2012-04-26 11:09:30.000000000 -0400
-***************
-*** 2206,2210 ****
- if (lastpipe_opt && job_control == 0 && asynchronous == 0 && pipe_out == NO_PIPE && prev > 0)
- {
-! lstdin = move_to_high_fd (0, 0, 255);
- if (lstdin > 0)
- {
---- 2325,2329 ----
- if (lastpipe_opt && job_control == 0 && asynchronous == 0 && pipe_out == NO_PIPE && prev > 0)
- {
-! lstdin = move_to_high_fd (0, 1, -1);
- if (lstdin > 0)
- {
-***************
-*** 2252,2256 ****
---- 2371,2377 ----
- }
-
-+ #if defined (JOB_CONTROL)
- discard_unwind_frame ("lastpipe-exec");
-+ #endif
-
- return (exec_result);
-
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 25
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 26
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-027 b/source/a/bash/bash-4.2-patches/bash42-027
deleted file mode 100644
index c0c5d3f80..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-027
+++ /dev/null
@@ -1,47 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-027
-
-Bug-Reported-by: Mike Frysinger <vapier@gentoo.org>
-Bug-Reference-ID: <201204211243.30163.vapier@gentoo.org>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-04/msg00134.html
-
-Bug-Description:
-
-When the `extglob' shell option is enabled, pattern substitution does not
-work correctly in the presence of multibyte characters.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/subst.c 2012-03-11 17:52:57.000000000 -0400
---- subst.c 2012-04-22 16:19:10.000000000 -0400
-***************
-*** 4167,4171 ****
- #if defined (EXTENDED_GLOB)
- if (extended_glob)
-! simple |= (wpat[1] != L'(' || (wpat[0] != L'*' && wpat[0] != L'?' && wpat[0] != L'+' && wpat[0] != L'!' && wpat[0] != L'@')); /*)*/
- #endif
-
---- 4167,4171 ----
- #if defined (EXTENDED_GLOB)
- if (extended_glob)
-! simple &= (wpat[1] != L'(' || (wpat[0] != L'*' && wpat[0] != L'?' && wpat[0] != L'+' && wpat[0] != L'!' && wpat[0] != L'@')); /*)*/
- #endif
-
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 26
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 27
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-028 b/source/a/bash/bash-4.2-patches/bash42-028
deleted file mode 100644
index fa3be3b48..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-028
+++ /dev/null
@@ -1,52 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-028
-
-Bug-Reported-by: Mark Edgar <medgar123@gmail.com>
-Bug-Reference-ID: <CABHMh_3d+ZgO_zaEtYXPwK4P7tC0ghZ4g=Ue_TRpsEMf5YDsqw@mail.gmail.com>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-03/msg00109.html
-
-Bug-Description:
-
-When using a word expansion for which the right hand side is evaluated,
-certain expansions of quoted null strings include spurious ^? characters.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/subst.c 2012-03-11 17:35:13.000000000 -0400
---- subst.c 2012-03-20 19:30:13.000000000 -0400
-***************
-*** 5810,5813 ****
---- 5810,5823 ----
- if (qdollaratp && ((hasdol && quoted) || l->next))
- *qdollaratp = 1;
-+ /* If we have a quoted null result (QUOTED_NULL(temp)) and the word is
-+ a quoted null (l->next == 0 && QUOTED_NULL(l->word->word)), the
-+ flags indicate it (l->word->flags & W_HASQUOTEDNULL), and the
-+ expansion is quoted (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES))
-+ (which is more paranoia than anything else), we need to return the
-+ quoted null string and set the flags to indicate it. */
-+ if (l->next == 0 && (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES)) && QUOTED_NULL(temp) && QUOTED_NULL(l->word->word) && (l->word->flags & W_HASQUOTEDNULL))
-+ {
-+ w->flags |= W_HASQUOTEDNULL;
-+ }
- dispose_words (l);
- }
-
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 27
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 28
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-029 b/source/a/bash/bash-4.2-patches/bash42-029
deleted file mode 100644
index c51704ca7..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-029
+++ /dev/null
@@ -1,524 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-029
-
-Bug-Reported-by: "Michael Kalisz" <michael@kalisz.homelinux.net>
-Bug-Reference-ID: <50241.78.69.11.112.1298585641.squirrel@kalisz.homelinux.net>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-02/msg00274.html
-
-Bug-Description:
-
-Bash-4.2 tries to leave completed directory names as the user typed them,
-without expanding them to a full pathname. One effect of this is that
-shell variables used in pathnames being completed (e.g., $HOME) are left
-unchanged, but the `$' is quoted by readline because it is a special
-character to the shell.
-
-This patch introduces two things:
-
-1. A new shell option, `direxpand', which, if set, attempts to emulate the
- bash-4.1 behavior of expanding words to full pathnames during
- completion;
-2. A set of heuristics that reduce the number of times special characters
- such as `$' are quoted when the directory name is not expanded.
-
-Patch (apply with `patch -p0'):
-
-diff -NrC 2 ../bash-4.2-patched/bashline.c ./bashline.c
-*** ../bash-4.2-patched/bashline.c 2011-01-16 15:32:47.000000000 -0500
---- ./bashline.c 2012-05-07 16:27:18.000000000 -0400
-***************
-*** 122,125 ****
---- 122,128 ----
- static int bash_push_line __P((void));
-
-+ static rl_icppfunc_t *save_directory_hook __P((void));
-+ static void reset_directory_hook __P((rl_icppfunc_t *));
-+
- static void cleanup_expansion_error __P((void));
- static void maybe_make_readline_line __P((char *));
-***************
-*** 244,251 ****
---- 247,261 ----
- int dircomplete_spelling = 0;
-
-+ /* Expand directory names during word/filename completion. */
-+ int dircomplete_expand = 0;
-+ int dircomplete_expand_relpath = 0;
-+
- static char *bash_completer_word_break_characters = " \t\n\"'@><=;|&(:";
- static char *bash_nohostname_word_break_characters = " \t\n\"'><=;|&(:";
- /* )) */
-
-+ static const char *default_filename_quote_characters = " \t\n\\\"'@<>=;|&()#$`?*[!:{~"; /*}*/
-+ static char *custom_filename_quote_characters = 0;
-+
- static rl_hook_func_t *old_rl_startup_hook = (rl_hook_func_t *)NULL;
-
-***************
-*** 502,506 ****
- /* Tell the completer that we might want to follow symbolic links or
- do other expansion on directory names. */
-! rl_directory_rewrite_hook = bash_directory_completion_hook;
-
- rl_filename_rewrite_hook = bash_filename_rewrite_hook;
---- 512,516 ----
- /* Tell the completer that we might want to follow symbolic links or
- do other expansion on directory names. */
-! set_directory_hook ();
-
- rl_filename_rewrite_hook = bash_filename_rewrite_hook;
-***************
-*** 530,534 ****
-
- /* characters that need to be quoted when appearing in filenames. */
-! rl_filename_quote_characters = " \t\n\\\"'@<>=;|&()#$`?*[!:{~"; /*}*/
-
- rl_filename_quoting_function = bash_quote_filename;
---- 540,544 ----
-
- /* characters that need to be quoted when appearing in filenames. */
-! rl_filename_quote_characters = default_filename_quote_characters;
-
- rl_filename_quoting_function = bash_quote_filename;
-***************
-*** 565,570 ****
- rl_attempted_completion_function = attempt_shell_completion;
- rl_completion_entry_function = NULL;
-- rl_directory_rewrite_hook = bash_directory_completion_hook;
- rl_ignore_some_completions_function = filename_completion_ignore;
- }
-
---- 575,582 ----
- rl_attempted_completion_function = attempt_shell_completion;
- rl_completion_entry_function = NULL;
- rl_ignore_some_completions_function = filename_completion_ignore;
-+ rl_filename_quote_characters = default_filename_quote_characters;
-+
-+ set_directory_hook ();
- }
-
-***************
-*** 1280,1283 ****
---- 1292,1298 ----
- rl_ignore_some_completions_function = filename_completion_ignore;
-
-+ rl_filename_quote_characters = default_filename_quote_characters;
-+ set_directory_hook ();
-+
- /* Determine if this could be a command word. It is if it appears at
- the start of the line (ignoring preceding whitespace), or if it
-***************
-*** 1592,1595 ****
---- 1607,1616 ----
- else
- {
-+ if (dircomplete_expand && dot_or_dotdot (filename_hint))
-+ {
-+ dircomplete_expand = 0;
-+ set_directory_hook ();
-+ dircomplete_expand = 1;
-+ }
- mapping_over = 4;
- goto inner;
-***************
-*** 1792,1795 ****
---- 1813,1819 ----
- inner:
- val = rl_filename_completion_function (filename_hint, istate);
-+ if (mapping_over == 4 && dircomplete_expand)
-+ set_directory_hook ();
-+
- istate = 1;
-
-***************
-*** 2694,2697 ****
---- 2718,2767 ----
- }
-
-+ /* Functions to save and restore the appropriate directory hook */
-+ /* This is not static so the shopt code can call it */
-+ void
-+ set_directory_hook ()
-+ {
-+ if (dircomplete_expand)
-+ {
-+ rl_directory_completion_hook = bash_directory_completion_hook;
-+ rl_directory_rewrite_hook = (rl_icppfunc_t *)0;
-+ }
-+ else
-+ {
-+ rl_directory_rewrite_hook = bash_directory_completion_hook;
-+ rl_directory_completion_hook = (rl_icppfunc_t *)0;
-+ }
-+ }
-+
-+ static rl_icppfunc_t *
-+ save_directory_hook ()
-+ {
-+ rl_icppfunc_t *ret;
-+
-+ if (dircomplete_expand)
-+ {
-+ ret = rl_directory_completion_hook;
-+ rl_directory_completion_hook = (rl_icppfunc_t *)NULL;
-+ }
-+ else
-+ {
-+ ret = rl_directory_rewrite_hook;
-+ rl_directory_rewrite_hook = (rl_icppfunc_t *)NULL;
-+ }
-+
-+ return ret;
-+ }
-+
-+ static void
-+ restore_directory_hook (hookf)
-+ rl_icppfunc_t *hookf;
-+ {
-+ if (dircomplete_expand)
-+ rl_directory_completion_hook = hookf;
-+ else
-+ rl_directory_rewrite_hook = hookf;
-+ }
-+
- /* Handle symbolic link references and other directory name
- expansions while hacking completion. This should return 1 if it modifies
-***************
-*** 2703,2720 ****
- {
- char *local_dirname, *new_dirname, *t;
-! int return_value, should_expand_dirname;
- WORD_LIST *wl;
- struct stat sb;
-
-! return_value = should_expand_dirname = 0;
- local_dirname = *dirname;
-
-! if (mbschr (local_dirname, '$'))
-! should_expand_dirname = 1;
- else
- {
- t = mbschr (local_dirname, '`');
- if (t && unclosed_pair (local_dirname, strlen (local_dirname), "`") == 0)
-! should_expand_dirname = 1;
- }
-
---- 2773,2801 ----
- {
- char *local_dirname, *new_dirname, *t;
-! int return_value, should_expand_dirname, nextch, closer;
- WORD_LIST *wl;
- struct stat sb;
-
-! return_value = should_expand_dirname = nextch = closer = 0;
- local_dirname = *dirname;
-
-! if (t = mbschr (local_dirname, '$'))
-! {
-! should_expand_dirname = '$';
-! nextch = t[1];
-! /* Deliberately does not handle the deprecated $[...] arithmetic
-! expansion syntax */
-! if (nextch == '(')
-! closer = ')';
-! else if (nextch == '{')
-! closer = '}';
-! else
-! nextch = 0;
-! }
- else
- {
- t = mbschr (local_dirname, '`');
- if (t && unclosed_pair (local_dirname, strlen (local_dirname), "`") == 0)
-! should_expand_dirname = '`';
- }
-
-***************
-*** 2740,2743 ****
---- 2821,2841 ----
- dispose_words (wl);
- local_dirname = *dirname;
-+ /* XXX - change rl_filename_quote_characters here based on
-+ should_expand_dirname/nextch/closer. This is the only place
-+ custom_filename_quote_characters is modified. */
-+ if (rl_filename_quote_characters && *rl_filename_quote_characters)
-+ {
-+ int i, j, c;
-+ i = strlen (default_filename_quote_characters);
-+ custom_filename_quote_characters = xrealloc (custom_filename_quote_characters, i+1);
-+ for (i = j = 0; c = default_filename_quote_characters[i]; i++)
-+ {
-+ if (c == should_expand_dirname || c == nextch || c == closer)
-+ continue;
-+ custom_filename_quote_characters[j++] = c;
-+ }
-+ custom_filename_quote_characters[j] = '\0';
-+ rl_filename_quote_characters = custom_filename_quote_characters;
-+ }
- }
- else
-***************
-*** 2759,2762 ****
---- 2857,2871 ----
- }
-
-+ /* no_symbolic_links == 0 -> use (default) logical view of the file system.
-+ local_dirname[0] == '.' && local_dirname[1] == '/' means files in the
-+ current directory (./).
-+ local_dirname[0] == '.' && local_dirname[1] == 0 means relative pathnames
-+ in the current directory (e.g., lib/sh).
-+ XXX - should we do spelling correction on these? */
-+
-+ /* This is test as it was in bash-4.2: skip relative pathnames in current
-+ directory. Change test to
-+ (local_dirname[0] != '.' || (local_dirname[1] && local_dirname[1] != '/'))
-+ if we want to skip paths beginning with ./ also. */
- if (no_symbolic_links == 0 && (local_dirname[0] != '.' || local_dirname[1]))
- {
-***************
-*** 2764,2767 ****
---- 2873,2885 ----
- int len1, len2;
-
-+ /* If we have a relative path
-+ (local_dirname[0] != '/' && local_dirname[0] != '.')
-+ that is canonical after appending it to the current directory, then
-+ temp1 = temp2+'/'
-+ That is,
-+ strcmp (temp1, temp2) == 0
-+ after adding a slash to temp2 below. It should be safe to not
-+ change those.
-+ */
- t = get_working_directory ("symlink-hook");
- temp1 = make_absolute (local_dirname, t);
-***************
-*** 2798,2802 ****
- }
- }
-! return_value |= STREQ (local_dirname, temp2) == 0;
- free (local_dirname);
- *dirname = temp2;
---- 2916,2928 ----
- }
- }
-!
-! /* dircomplete_expand_relpath == 0 means we want to leave relative
-! pathnames that are unchanged by canonicalization alone.
-! *local_dirname != '/' && *local_dirname != '.' == relative pathname
-! (consistent with general.c:absolute_pathname())
-! temp1 == temp2 (after appending a slash to temp2) means the pathname
-! is not changed by canonicalization as described above. */
-! if (dircomplete_expand_relpath || ((local_dirname[0] != '/' && local_dirname[0] != '.') && STREQ (temp1, temp2) == 0))
-! return_value |= STREQ (local_dirname, temp2) == 0;
- free (local_dirname);
- *dirname = temp2;
-***************
-*** 3003,3012 ****
- orig_func = rl_completion_entry_function;
- orig_attempt_func = rl_attempted_completion_function;
-- orig_dir_func = rl_directory_rewrite_hook;
- orig_ignore_func = rl_ignore_some_completions_function;
- orig_rl_completer_word_break_characters = rl_completer_word_break_characters;
- rl_completion_entry_function = rl_filename_completion_function;
- rl_attempted_completion_function = (rl_completion_func_t *)NULL;
-- rl_directory_rewrite_hook = (rl_icppfunc_t *)NULL;
- rl_ignore_some_completions_function = filename_completion_ignore;
- rl_completer_word_break_characters = " \t\n\"\'";
---- 3129,3139 ----
- orig_func = rl_completion_entry_function;
- orig_attempt_func = rl_attempted_completion_function;
- orig_ignore_func = rl_ignore_some_completions_function;
- orig_rl_completer_word_break_characters = rl_completer_word_break_characters;
-+
-+ orig_dir_func = save_directory_hook ();
-+
- rl_completion_entry_function = rl_filename_completion_function;
- rl_attempted_completion_function = (rl_completion_func_t *)NULL;
- rl_ignore_some_completions_function = filename_completion_ignore;
- rl_completer_word_break_characters = " \t\n\"\'";
-***************
-*** 3016,3023 ****
- rl_completion_entry_function = orig_func;
- rl_attempted_completion_function = orig_attempt_func;
-- rl_directory_rewrite_hook = orig_dir_func;
- rl_ignore_some_completions_function = orig_ignore_func;
- rl_completer_word_break_characters = orig_rl_completer_word_break_characters;
-
- return r;
- }
---- 3143,3151 ----
- rl_completion_entry_function = orig_func;
- rl_attempted_completion_function = orig_attempt_func;
- rl_ignore_some_completions_function = orig_ignore_func;
- rl_completer_word_break_characters = orig_rl_completer_word_break_characters;
-
-+ restore_directory_hook (orig_dir_func);
-+
- return r;
- }
-diff -NrC 2 ../bash-4.2-patched/bashline.h ./bashline.h
-*** ../bash-4.2-patched/bashline.h 2009-01-04 14:32:22.000000000 -0500
---- ./bashline.h 2012-05-07 16:27:18.000000000 -0400
-***************
-*** 34,41 ****
---- 34,46 ----
- extern int bash_re_edit __P((char *));
-
-+ extern void bashline_set_event_hook __P((void));
-+ extern void bashline_reset_event_hook __P((void));
-+
- extern int bind_keyseq_to_unix_command __P((char *));
-
- extern char **bash_default_completion __P((const char *, int, int, int, int));
-
-+ void set_directory_hook __P((void));
-+
- /* Used by programmable completion code. */
- extern char *command_word_completion_function __P((const char *, int));
-diff -NrC 2 ../bash-4.2-patched/builtins/shopt.def ./builtins/shopt.def
-*** ../bash-4.2-patched/builtins/shopt.def 2010-07-02 22:42:44.000000000 -0400
---- ./builtins/shopt.def 2012-05-07 16:27:18.000000000 -0400
-***************
-*** 62,65 ****
---- 62,69 ----
- #include "bashgetopt.h"
-
-+ #if defined (READLINE)
-+ # include "../bashline.h"
-+ #endif
-+
- #if defined (HISTORY)
- # include "../bashhist.h"
-***************
-*** 95,99 ****
- extern int no_empty_command_completion;
- extern int force_fignore;
-! extern int dircomplete_spelling;
-
- extern int enable_hostname_completion __P((int));
---- 99,103 ----
- extern int no_empty_command_completion;
- extern int force_fignore;
-! extern int dircomplete_spelling, dircomplete_expand;
-
- extern int enable_hostname_completion __P((int));
-***************
-*** 122,125 ****
---- 126,133 ----
- #endif
-
-+ #if defined (READLINE)
-+ static int shopt_set_complete_direxpand __P((char *, int));
-+ #endif
-+
- static int shopt_login_shell;
- static int shopt_compat31;
-***************
-*** 151,154 ****
---- 159,163 ----
- { "compat41", &shopt_compat41, set_compatibility_level },
- #if defined (READLINE)
-+ { "direxpand", &dircomplete_expand, shopt_set_complete_direxpand },
- { "dirspell", &dircomplete_spelling, (shopt_set_func_t *)NULL },
- #endif
-***************
-*** 536,539 ****
---- 545,559 ----
- }
-
-+ #if defined (READLINE)
-+ static int
-+ shopt_set_complete_direxpand (option_name, mode)
-+ char *option_name;
-+ int mode;
-+ {
-+ set_directory_hook ();
-+ return 0;
-+ }
-+ #endif
-+
- #if defined (RESTRICTED_SHELL)
- /* Don't allow the value of restricted_shell to be modified. */
-Binary files ../bash-4.2-patched/doc/._bashref.pdf and ./doc/._bashref.pdf differ
-diff -NrC 2 ../bash-4.2-patched/doc/bash.1 ./doc/bash.1
-*** ../bash-4.2-patched/doc/bash.1 2011-01-16 15:31:39.000000000 -0500
---- ./doc/bash.1 2012-05-07 16:27:18.000000000 -0400
-***************
-*** 8949,8952 ****
---- 8949,8962 ----
- The default bash behavior remains as in previous versions.
- .TP 8
-+ .B direxpand
-+ If set,
-+ .B bash
-+ replaces directory names with the results of word expansion when performing
-+ filename completion. This changes the contents of the readline editing
-+ buffer.
-+ If not set,
-+ .B bash
-+ attempts to preserve what the user typed.
-+ .TP 8
- .B dirspell
- If set,
-diff -NrC 2 ../bash-4.2-patched/doc/bashref.texi ./doc/bashref.texi
-*** ../bash-4.2-patched/doc/bashref.texi 2011-01-16 15:31:57.000000000 -0500
---- ./doc/bashref.texi 2012-05-07 16:27:18.000000000 -0400
-***************
-*** 4536,4539 ****
---- 4536,4546 ----
- The default Bash behavior remains as in previous versions.
-
-+ @item direxpand
-+ If set, Bash
-+ replaces directory names with the results of word expansion when performing
-+ filename completion. This changes the contents of the readline editing
-+ buffer.
-+ If not set, Bash attempts to preserve what the user typed.
-+
- @item dirspell
- If set, Bash
-diff -NrC 2 ../bash-4.2-patched/tests/shopt.right ./tests/shopt.right
-*** ../bash-4.2-patched/tests/shopt.right 2010-07-02 23:36:30.000000000 -0400
---- ./tests/shopt.right 2012-05-07 16:27:18.000000000 -0400
-***************
-*** 13,16 ****
---- 13,17 ----
- shopt -u compat40
- shopt -u compat41
-+ shopt -u direxpand
- shopt -u dirspell
- shopt -u dotglob
-***************
-*** 69,72 ****
---- 70,74 ----
- shopt -u compat40
- shopt -u compat41
-+ shopt -u direxpand
- shopt -u dirspell
- shopt -u dotglob
-***************
-*** 102,105 ****
---- 104,108 ----
- compat40 off
- compat41 off
-+ direxpand off
- dirspell off
- dotglob off
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 28
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 29
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-030 b/source/a/bash/bash-4.2-patches/bash42-030
deleted file mode 100644
index 261a619bb..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-030
+++ /dev/null
@@ -1,178 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-030
-
-Bug-Reported-by: Roman Rakus <rrakus@redhat.com>
-Bug-Reference-ID: <4D7DD91E.7040808@redhat.com>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2011-03/msg00126.html
-
-Bug-Description:
-
-When attempting to glob strings in a multibyte locale, and those strings
-contain invalid multibyte characters that cause mbsnrtowcs to return 0,
-the globbing code loops infinitely.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/lib/glob/xmbsrtowcs.c 2010-05-30 18:36:27.000000000 -0400
---- lib/glob/xmbsrtowcs.c 2011-03-22 16:06:47.000000000 -0400
-***************
-*** 36,39 ****
---- 36,41 ----
- #if HANDLE_MULTIBYTE
-
-+ #define WSBUF_INC 32
-+
- #ifndef FREE
- # define FREE(x) do { if (x) free (x); } while (0)
-***************
-*** 149,153 ****
- size_t wcnum; /* Number of wide characters in WSBUF */
- mbstate_t state; /* Conversion State */
-! size_t wcslength; /* Number of wide characters produced by the conversion. */
- const char *end_or_backslash;
- size_t nms; /* Number of multibyte characters to convert at one time. */
---- 151,155 ----
- size_t wcnum; /* Number of wide characters in WSBUF */
- mbstate_t state; /* Conversion State */
-! size_t n, wcslength; /* Number of wide characters produced by the conversion. */
- const char *end_or_backslash;
- size_t nms; /* Number of multibyte characters to convert at one time. */
-***************
-*** 172,176 ****
- tmp_p = p;
- tmp_state = state;
-! wcslength = mbsnrtowcs(NULL, &tmp_p, nms, 0, &tmp_state);
-
- /* Conversion failed. */
---- 174,189 ----
- tmp_p = p;
- tmp_state = state;
-!
-! if (nms == 0 && *p == '\\') /* special initial case */
-! nms = wcslength = 1;
-! else
-! wcslength = mbsnrtowcs (NULL, &tmp_p, nms, 0, &tmp_state);
-!
-! if (wcslength == 0)
-! {
-! tmp_p = p; /* will need below */
-! tmp_state = state;
-! wcslength = 1; /* take a single byte */
-! }
-
- /* Conversion failed. */
-***************
-*** 187,191 ****
- wchar_t *wstmp;
-
-! wsbuf_size = wcnum+wcslength+1; /* 1 for the L'\0' or the potential L'\\' */
-
- wstmp = (wchar_t *) realloc (wsbuf, wsbuf_size * sizeof (wchar_t));
---- 200,205 ----
- wchar_t *wstmp;
-
-! while (wsbuf_size < wcnum+wcslength+1) /* 1 for the L'\0' or the potential L'\\' */
-! wsbuf_size += WSBUF_INC;
-
- wstmp = (wchar_t *) realloc (wsbuf, wsbuf_size * sizeof (wchar_t));
-***************
-*** 200,207 ****
-
- /* Perform the conversion. This is assumed to return 'wcslength'.
-! * It may set 'p' to NULL. */
-! mbsnrtowcs(wsbuf+wcnum, &p, nms, wsbuf_size-wcnum, &state);
-
-! wcnum += wcslength;
-
- if (mbsinit (&state) && (p != NULL) && (*p == '\\'))
---- 214,229 ----
-
- /* Perform the conversion. This is assumed to return 'wcslength'.
-! It may set 'p' to NULL. */
-! n = mbsnrtowcs(wsbuf+wcnum, &p, nms, wsbuf_size-wcnum, &state);
-
-! /* Compensate for taking single byte on wcs conversion failure above. */
-! if (wcslength == 1 && (n == 0 || n == (size_t)-1))
-! {
-! state = tmp_state;
-! p = tmp_p;
-! wsbuf[wcnum++] = *p++;
-! }
-! else
-! wcnum += wcslength;
-
- if (mbsinit (&state) && (p != NULL) && (*p == '\\'))
-***************
-*** 231,236 ****
- of DESTP and INDICESP are NULL. */
-
-- #define WSBUF_INC 32
--
- size_t
- xdupmbstowcs (destp, indicesp, src)
---- 253,256 ----
-*** ../bash-4.2-patched/lib/glob/glob.c 2009-11-14 18:39:30.000000000 -0500
---- lib/glob/glob.c 2012-07-07 12:09:56.000000000 -0400
-***************
-*** 201,206 ****
- size_t pat_n, dn_n;
-
- pat_n = xdupmbstowcs (&pat_wc, NULL, pat);
-! dn_n = xdupmbstowcs (&dn_wc, NULL, dname);
-
- ret = 0;
---- 201,209 ----
- size_t pat_n, dn_n;
-
-+ pat_wc = dn_wc = (wchar_t *)NULL;
-+
- pat_n = xdupmbstowcs (&pat_wc, NULL, pat);
-! if (pat_n != (size_t)-1)
-! dn_n = xdupmbstowcs (&dn_wc, NULL, dname);
-
- ret = 0;
-***************
-*** 222,225 ****
---- 225,230 ----
- ret = 1;
- }
-+ else
-+ ret = skipname (pat, dname, flags);
-
- FREE (pat_wc);
-***************
-*** 267,272 ****
- n = xdupmbstowcs (&wpathname, NULL, pathname);
- if (n == (size_t) -1)
-! /* Something wrong. */
-! return;
- orig_wpathname = wpathname;
-
---- 272,280 ----
- n = xdupmbstowcs (&wpathname, NULL, pathname);
- if (n == (size_t) -1)
-! {
-! /* Something wrong. Fall back to single-byte */
-! udequote_pathname (pathname);
-! return;
-! }
- orig_wpathname = wpathname;
-
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 29
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 30
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-031 b/source/a/bash/bash-4.2-patches/bash42-031
deleted file mode 100644
index 419d4478e..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-031
+++ /dev/null
@@ -1,80 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-031
-
-Bug-Reported-by: Max Horn <max@quendi.de>
-Bug-Reference-ID: <20CC5C60-07C3-4E41-9817-741E48D407C5@quendi.de>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-readline/2012-06/msg00005.html
-
-Bug-Description:
-
-A change between bash-4.1 and bash-4.2 to prevent the readline input hook
-from being called too frequently had the side effect of causing delays
-when reading pasted input on systems such as Mac OS X. This patch fixes
-those delays while retaining the bash-4.2 behavior.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/lib/readline/input.c 2010-05-30 18:33:01.000000000 -0400
---- lib/readline/input.c 2012-06-25 21:08:42.000000000 -0400
-***************
-*** 410,414 ****
- rl_read_key ()
- {
-! int c;
-
- rl_key_sequence_length++;
---- 412,416 ----
- rl_read_key ()
- {
-! int c, r;
-
- rl_key_sequence_length++;
-***************
-*** 430,441 ****
- while (rl_event_hook)
- {
-! if (rl_gather_tyi () < 0) /* XXX - EIO */
- {
- rl_done = 1;
- return ('\n');
- }
- RL_CHECK_SIGNALS ();
-- if (rl_get_char (&c) != 0)
-- break;
- if (rl_done) /* XXX - experimental */
- return ('\n');
---- 432,447 ----
- while (rl_event_hook)
- {
-! if (rl_get_char (&c) != 0)
-! break;
-!
-! if ((r = rl_gather_tyi ()) < 0) /* XXX - EIO */
- {
- rl_done = 1;
- return ('\n');
- }
-+ else if (r == 1) /* read something */
-+ continue;
-+
- RL_CHECK_SIGNALS ();
- if (rl_done) /* XXX - experimental */
- return ('\n');
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 30
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 31
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-032 b/source/a/bash/bash-4.2-patches/bash42-032
deleted file mode 100644
index d4f25ca03..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-032
+++ /dev/null
@@ -1,75 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-032
-
-Bug-Reported-by: Ruediger Kuhlmann <RKuhlmann@orga-systems.com>
-Bug-Reference-ID: <OFDE975207.0C3622E5-ONC12579F3.00361A06-C12579F3.00365E39@orga-systems.com>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-05/msg00010.html
-
-Bug-Description:
-
-Bash-4.2 has problems with DEL characters in the expanded value of variables
-used in the same quoted string as variables that expand to nothing.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-20120427/subst.c 2012-04-22 16:19:10.000000000 -0400
---- subst.c 2012-05-07 16:06:35.000000000 -0400
-***************
-*** 8152,8155 ****
---- 8152,8163 ----
- dispose_word_desc (tword);
-
-+ /* Kill quoted nulls; we will add them back at the end of
-+ expand_word_internal if nothing else in the string */
-+ if (had_quoted_null && temp && QUOTED_NULL (temp))
-+ {
-+ FREE (temp);
-+ temp = (char *)NULL;
-+ }
-+
- goto add_string;
- break;
-***************
-*** 8556,8560 ****
- if (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES))
- tword->flags |= W_QUOTED;
-! if (had_quoted_null)
- tword->flags |= W_HASQUOTEDNULL;
- list = make_word_list (tword, (WORD_LIST *)NULL);
---- 8564,8568 ----
- if (quoted & (Q_HERE_DOCUMENT|Q_DOUBLE_QUOTES))
- tword->flags |= W_QUOTED;
-! if (had_quoted_null && QUOTED_NULL (istring))
- tword->flags |= W_HASQUOTEDNULL;
- list = make_word_list (tword, (WORD_LIST *)NULL);
-***************
-*** 8587,8591 ****
- if (word->flags & W_NOEXPAND)
- tword->flags |= W_NOEXPAND;
-! if (had_quoted_null)
- tword->flags |= W_HASQUOTEDNULL; /* XXX */
- list = make_word_list (tword, (WORD_LIST *)NULL);
---- 8595,8599 ----
- if (word->flags & W_NOEXPAND)
- tword->flags |= W_NOEXPAND;
-! if (had_quoted_null && QUOTED_NULL (istring))
- tword->flags |= W_HASQUOTEDNULL; /* XXX */
- list = make_word_list (tword, (WORD_LIST *)NULL);
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 31
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 32
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-033 b/source/a/bash/bash-4.2-patches/bash42-033
deleted file mode 100644
index e58d7286e..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-033
+++ /dev/null
@@ -1,57 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-033
-
-Bug-Reported-by: David Leverton <levertond@googlemail.com>
-Bug-Reference-ID: <4FCCE737.1060603@googlemail.com>
-Bug-Reference-URL:
-
-Bug-Description:
-
-Bash uses a static buffer when expanding the /dev/fd prefix for the test
-and conditional commands, among other uses, when it should use a dynamic
-buffer to avoid buffer overflow.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/lib/sh/eaccess.c 2011-01-08 20:50:10.000000000 -0500
---- lib/sh/eaccess.c 2012-06-04 21:06:43.000000000 -0400
-***************
-*** 83,86 ****
---- 83,88 ----
- struct stat *finfo;
- {
-+ static char *pbuf = 0;
-+
- if (*path == '\0')
- {
-***************
-*** 107,111 ****
- On most systems, with the notable exception of linux, this is
- effectively a no-op. */
-! char pbuf[32];
- strcpy (pbuf, DEV_FD_PREFIX);
- strcat (pbuf, path + 8);
---- 109,113 ----
- On most systems, with the notable exception of linux, this is
- effectively a no-op. */
-! pbuf = xrealloc (pbuf, sizeof (DEV_FD_PREFIX) + strlen (path + 8));
- strcpy (pbuf, DEV_FD_PREFIX);
- strcat (pbuf, path + 8);
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 32
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 33
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-034 b/source/a/bash/bash-4.2-patches/bash42-034
deleted file mode 100644
index e4f05e103..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-034
+++ /dev/null
@@ -1,46 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-034
-
-Bug-Reported-by: "Davide Brini" <dave_br@gmx.com>
-Bug-Reference-ID: <20120604164154.69781EC04B@imaps.oficinas.atrapalo.com>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-06/msg00030.html
-
-Bug-Description:
-
-In bash-4.2, the history code would inappropriately add a semicolon to
-multi-line compound array assignments when adding them to the history.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/parse.y 2011-11-21 18:03:36.000000000 -0500
---- parse.y 2012-06-07 12:48:47.000000000 -0400
-***************
-*** 4900,4905 ****
---- 4916,4924 ----
- return (current_command_line_count == 2 ? "\n" : "");
- }
-
-+ if (parser_state & PST_COMPASSIGN)
-+ return (" ");
-+
- /* First, handle some special cases. */
- /*(*/
- /* If we just read `()', assume it's a function definition, and don't
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 33
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 34
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-035 b/source/a/bash/bash-4.2-patches/bash42-035
deleted file mode 100644
index 6f0be6f90..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-035
+++ /dev/null
@@ -1,66 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-035
-
-Bug-Reported-by: Dan Douglas <ormaaj@gmail.com>
-Bug-Reference-ID: <2766482.Ksm3GrSoYi@smorgbox>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-06/msg00071.html
-
-Bug-Description:
-
-When given a number of lines to read, `mapfile -n lines' reads one too many.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/builtins/mapfile.def 2010-05-29 22:09:47.000000000 -0400
---- builtins/mapfile.def 2012-06-20 09:48:33.000000000 -0400
-***************
-*** 196,206 ****
- interrupt_immediately++;
- for (array_index = origin, line_count = 1;
-! zgetline (fd, &line, &line_length, unbuffered_read) != -1;
-! array_index++, line_count++)
- {
-- /* Have we exceeded # of lines to store? */
-- if (line_count_goal != 0 && line_count > line_count_goal)
-- break;
--
- /* Remove trailing newlines? */
- if (flags & MAPF_CHOP)
---- 196,202 ----
- interrupt_immediately++;
- for (array_index = origin, line_count = 1;
-! zgetline (fd, &line, &line_length, unbuffered_read) != -1;
-! array_index++)
- {
- /* Remove trailing newlines? */
- if (flags & MAPF_CHOP)
-***************
-*** 218,221 ****
---- 214,222 ----
-
- bind_array_element (entry, array_index, line, 0);
-+
-+ /* Have we exceeded # of lines to store? */
-+ line_count++;
-+ if (line_count_goal != 0 && line_count > line_count_goal)
-+ break;
- }
-
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 34
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 35
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-036 b/source/a/bash/bash-4.2-patches/bash42-036
deleted file mode 100644
index 73fac408a..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-036
+++ /dev/null
@@ -1,92 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-036
-
-Bug-Reported-by: gregrwm <backuppc-users@whitleymott.net>
-Bug-Reference-ID: <CAD+dB9B4JG+qUwZBQUwiQmVt0j6NDn=DDTxr9R+nkA8DL4KLJA@mail.gmail.com>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-05/msg00108.html
-
-Bug-Description:
-
-Bash-4.2 produces incorrect word splitting results when expanding
-double-quoted $@ in the same string as and adjacent to other variable
-expansions. The $@ should be split, the other expansions should not.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/subst.c 2012-05-02 12:02:33.000000000 -0400
---- subst.c 2012-07-08 21:19:32.000000000 -0400
-***************
-*** 7923,7927 ****
- /* State flags */
- int had_quoted_null;
-! int has_dollar_at;
- int tflag;
- int pflags; /* flags passed to param_expand */
---- 7923,7927 ----
- /* State flags */
- int had_quoted_null;
-! int has_dollar_at, temp_has_dollar_at;
- int tflag;
- int pflags; /* flags passed to param_expand */
-***************
-*** 8128,8138 ****
- *expanded_something = 1;
-
-! has_dollar_at = 0;
- pflags = (word->flags & W_NOCOMSUB) ? PF_NOCOMSUB : 0;
- if (word->flags & W_NOSPLIT2)
- pflags |= PF_NOSPLIT2;
- tword = param_expand (string, &sindex, quoted, expanded_something,
-! &has_dollar_at, &quoted_dollar_at,
- &had_quoted_null, pflags);
-
- if (tword == &expand_wdesc_error || tword == &expand_wdesc_fatal)
---- 8128,8139 ----
- *expanded_something = 1;
-
-! temp_has_dollar_at = 0;
- pflags = (word->flags & W_NOCOMSUB) ? PF_NOCOMSUB : 0;
- if (word->flags & W_NOSPLIT2)
- pflags |= PF_NOSPLIT2;
- tword = param_expand (string, &sindex, quoted, expanded_something,
-! &temp_has_dollar_at, &quoted_dollar_at,
- &had_quoted_null, pflags);
-+ has_dollar_at += temp_has_dollar_at;
-
- if (tword == &expand_wdesc_error || tword == &expand_wdesc_fatal)
-***************
-*** 8275,8281 ****
- temp = (char *)NULL;
-
-! has_dollar_at = 0;
- /* Need to get W_HASQUOTEDNULL flag through this function. */
-! list = expand_word_internal (tword, Q_DOUBLE_QUOTES, 0, &has_dollar_at, (int *)NULL);
-
- if (list == &expand_word_error || list == &expand_word_fatal)
---- 8276,8283 ----
- temp = (char *)NULL;
-
-! temp_has_dollar_at = 0; /* XXX */
- /* Need to get W_HASQUOTEDNULL flag through this function. */
-! list = expand_word_internal (tword, Q_DOUBLE_QUOTES, 0, &temp_has_dollar_at, (int *)NULL);
-! has_dollar_at += temp_has_dollar_at;
-
- if (list == &expand_word_error || list == &expand_word_fatal)
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 35
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 36
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-037 b/source/a/bash/bash-4.2-patches/bash42-037
deleted file mode 100644
index a12b8a7ee..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-037
+++ /dev/null
@@ -1,112 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-037
-
-Bug-Reported-by: Jakub Filak
-Bug-Reference-ID:
-Bug-Reference-URL: https://bugzilla.redhat.com/show_bug.cgi?id=813289
-
-Bug-Description:
-
-Attempting to redo (using `.') the vi editing mode `cc', `dd', or `yy'
-commands leads to an infinite loop.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/lib/readline/vi_mode.c 2011-02-25 11:17:02.000000000 -0500
---- lib/readline/vi_mode.c 2012-06-02 12:24:47.000000000 -0400
-***************
-*** 1235,1243 ****
- r = rl_domove_motion_callback (_rl_vimvcxt);
- }
-! else if (vi_redoing)
- {
- _rl_vimvcxt->motion = _rl_vi_last_motion;
- r = rl_domove_motion_callback (_rl_vimvcxt);
- }
- #if defined (READLINE_CALLBACKS)
- else if (RL_ISSTATE (RL_STATE_CALLBACK))
---- 1297,1313 ----
- r = rl_domove_motion_callback (_rl_vimvcxt);
- }
-! else if (vi_redoing && _rl_vi_last_motion != 'd') /* `dd' is special */
- {
- _rl_vimvcxt->motion = _rl_vi_last_motion;
- r = rl_domove_motion_callback (_rl_vimvcxt);
- }
-+ else if (vi_redoing) /* handle redoing `dd' here */
-+ {
-+ _rl_vimvcxt->motion = _rl_vi_last_motion;
-+ rl_mark = rl_end;
-+ rl_beg_of_line (1, key);
-+ RL_UNSETSTATE (RL_STATE_VIMOTION);
-+ r = vidomove_dispatch (_rl_vimvcxt);
-+ }
- #if defined (READLINE_CALLBACKS)
- else if (RL_ISSTATE (RL_STATE_CALLBACK))
-***************
-*** 1317,1325 ****
- r = rl_domove_motion_callback (_rl_vimvcxt);
- }
-! else if (vi_redoing)
- {
- _rl_vimvcxt->motion = _rl_vi_last_motion;
- r = rl_domove_motion_callback (_rl_vimvcxt);
- }
- #if defined (READLINE_CALLBACKS)
- else if (RL_ISSTATE (RL_STATE_CALLBACK))
---- 1387,1403 ----
- r = rl_domove_motion_callback (_rl_vimvcxt);
- }
-! else if (vi_redoing && _rl_vi_last_motion != 'c') /* `cc' is special */
- {
- _rl_vimvcxt->motion = _rl_vi_last_motion;
- r = rl_domove_motion_callback (_rl_vimvcxt);
- }
-+ else if (vi_redoing) /* handle redoing `cc' here */
-+ {
-+ _rl_vimvcxt->motion = _rl_vi_last_motion;
-+ rl_mark = rl_end;
-+ rl_beg_of_line (1, key);
-+ RL_UNSETSTATE (RL_STATE_VIMOTION);
-+ r = vidomove_dispatch (_rl_vimvcxt);
-+ }
- #if defined (READLINE_CALLBACKS)
- else if (RL_ISSTATE (RL_STATE_CALLBACK))
-***************
-*** 1378,1381 ****
---- 1456,1472 ----
- r = rl_domove_motion_callback (_rl_vimvcxt);
- }
-+ else if (vi_redoing && _rl_vi_last_motion != 'y') /* `yy' is special */
-+ {
-+ _rl_vimvcxt->motion = _rl_vi_last_motion;
-+ r = rl_domove_motion_callback (_rl_vimvcxt);
-+ }
-+ else if (vi_redoing) /* handle redoing `yy' here */
-+ {
-+ _rl_vimvcxt->motion = _rl_vi_last_motion;
-+ rl_mark = rl_end;
-+ rl_beg_of_line (1, key);
-+ RL_UNSETSTATE (RL_STATE_VIMOTION);
-+ r = vidomove_dispatch (_rl_vimvcxt);
-+ }
- #if defined (READLINE_CALLBACKS)
- else if (RL_ISSTATE (RL_STATE_CALLBACK))
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 36
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 37
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-038 b/source/a/bash/bash-4.2-patches/bash42-038
deleted file mode 100644
index 411e4dd54..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-038
+++ /dev/null
@@ -1,47 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-038
-
-Bug-Reported-by: armandsl@gmail.com
-Bug-Reference-ID: <20120822112810.8D14920040@windmill.latviatours.lv>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-08/msg00049.html
-
-Bug-Description:
-
-If a backslash-newline (which is removed) with no other input is given as
-input to `read', the shell tries to dereference a null pointer and seg faults.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/builtins/read.def 2012-03-11 17:52:44.000000000 -0400
---- builtins/read.def 2012-08-22 11:53:09.000000000 -0400
-***************
-*** 792,796 ****
- #endif
-
-! if (saw_escape)
- {
- t = dequote_string (input_string);
---- 847,851 ----
- #endif
-
-! if (saw_escape && input_string && *input_string)
- {
- t = dequote_string (input_string);
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 37
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 38
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-039 b/source/a/bash/bash-4.2-patches/bash42-039
deleted file mode 100644
index 21457af12..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-039
+++ /dev/null
@@ -1,58 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-039
-
-Bug-Reported-by: Dan Douglas <ormaaj@gmail.com>
-Bug-Reference-ID: <1498458.MpVlmOXDB7@smorgbox>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-09/msg00008.html
-
-Bug-Description:
-
-Under certain circumstances, bash attempts to expand variables in arithmetic
-expressions even when evaluation is being suppressed.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/expr.c 2011-11-21 18:03:35.000000000 -0500
---- expr.c 2012-09-09 16:31:18.000000000 -0400
-***************
-*** 1010,1013 ****
---- 1073,1082 ----
- #endif
-
-+ /*itrace("expr_streval: %s: noeval = %d", tok, noeval);*/
-+ /* If we are suppressing evaluation, just short-circuit here instead of
-+ going through the rest of the evaluator. */
-+ if (noeval)
-+ return (0);
-+
- /* [[[[[ */
- #if defined (ARRAY_VARS)
-***************
-*** 1183,1186 ****
---- 1256,1263 ----
-
- *cp = '\0';
-+ /* XXX - watch out for pointer aliasing issues here */
-+ if (curlval.tokstr && curlval.tokstr == tokstr)
-+ init_lvalue (&curlval);
-+
- FREE (tokstr);
- tokstr = savestring (tp);
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 38
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 39
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-040 b/source/a/bash/bash-4.2-patches/bash42-040
deleted file mode 100644
index 1de0fe370..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-040
+++ /dev/null
@@ -1,56 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-040
-
-Bug-Reported-by: Andrey Zaitsev <jstcdr@gmail.com>
-Bug-Reference-ID: <CAEZVQT5PJ1Mb_Zh8LT5qz8sv+-9Q6hGfQ5DU9ZxdJ+gV7xBUaQ@mail.gmail.com>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-04/msg00144.html
-
-Bug-Description:
-
-Output redirection applied to builtin commands missed I/O errors if
-they happened when the file descriptor was closed, rather than on write
-(e.g., like with an out-of-space error on a remote NFS file system).
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/redir.c 2011-01-02 16:00:31.000000000 -0500
---- redir.c 2012-04-24 20:42:12.000000000 -0400
-***************
-*** 1092,1099 ****
- #if defined (BUFFERED_INPUT)
- check_bash_input (redirector);
-! close_buffered_fd (redirector);
- #else /* !BUFFERED_INPUT */
-! close (redirector);
- #endif /* !BUFFERED_INPUT */
- }
- break;
---- 1092,1101 ----
- #if defined (BUFFERED_INPUT)
- check_bash_input (redirector);
-! r = close_buffered_fd (redirector);
- #else /* !BUFFERED_INPUT */
-! r = close (redirector);
- #endif /* !BUFFERED_INPUT */
-+ if (r < 0 && (flags & RX_INTERNAL) && (errno == EIO || errno == ENOSPC))
-+ REDIRECTION_ERROR (r, errno, -1);
- }
- break;
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 39
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 40
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-041 b/source/a/bash/bash-4.2-patches/bash42-041
deleted file mode 100644
index 37d4ac704..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-041
+++ /dev/null
@@ -1,47 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-041
-
-Bug-Reported-by: Andrey Borzenkov <arvidjaar@gmail.com>
-Bug-Reference-ID: <20121202205200.2134478e@opensuse.site>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-12/msg00008.html
-
-Bug-Description:
-
-Process substitution incorrectly inherited a flag that inhibited using the
-(local) temporary environment for variable lookups if it was providing
-the filename to a redirection. The intent the flag is to enforce the
-Posix command expansion ordering rules.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/subst.c 2012-07-14 15:53:20.000000000 -0400
---- subst.c 2012-12-02 22:26:54.000000000 -0500
-***************
-*** 5125,5128 ****
---- 5129,5136 ----
- #endif /* HAVE_DEV_FD */
-
-+ /* subshells shouldn't have this flag, which controls using the temporary
-+ environment for variable lookups. */
-+ expanding_redir = 0;
-+
- result = parse_and_execute (string, "process substitution", (SEVAL_NONINT|SEVAL_NOHIST));
-
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 40
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 41
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-042 b/source/a/bash/bash-4.2-patches/bash42-042
deleted file mode 100644
index 1ce0cae30..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-042
+++ /dev/null
@@ -1,57 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-042
-
-Bug-Reported-by: Adam Pippin <adam@gp-inc.ca>
-Bug-Reference-ID: <CAPYbNHr6ucZFOoWsRdUJj6KP3Ju0j1bkESa_cmb7iU+kZwdVpg@mail.gmail.com>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2012-11/msg00087.html
-
-Bug-Description:
-
-Compilation failed after specifying the `--enable-minimal-config' option to
-configure (more specifically, specifying `--disable-alias').
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/parse.y 2012-07-08 21:53:33.000000000 -0400
---- parse.y 2012-10-14 20:20:34.000000000 -0400
-***************
-*** 2394,2397 ****
---- 2392,2396 ----
- to consume the quoted newline and move to the next character in
- the expansion. */
-+ #if defined (ALIAS)
- if (expanding_alias () && shell_input_line[shell_input_line_index+1] == '\0')
- {
-***************
-*** 2404,2408 ****
- goto next_alias_char; /* and get next character */
- }
-! else
- goto restart_read;
- }
---- 2403,2408 ----
- goto next_alias_char; /* and get next character */
- }
-! else
-! #endif
- goto restart_read;
- }
-
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 41
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 42
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-043 b/source/a/bash/bash-4.2-patches/bash42-043
deleted file mode 100644
index b25a5ee38..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-043
+++ /dev/null
@@ -1,65 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-043
-
-Bug-Reported-by: konsolebox <konsolebox@gmail.com>
-Bug-Reference-ID: <CAJnmqwZuGKLgMsMwxRK4LL+2NN+HgvmKzrnode99QBGrcgX1Lw@mail.gmail.com>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2013-01/msg00138.html
-
-Bug-Description:
-
-When SIGCHLD is trapped, and a SIGCHLD trap handler runs when a pending
-`read -t' invocation times out and generates SIGALRM, bash can crash with
-a segmentation fault.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/builtins/read.def 2012-10-31 21:22:51.000517000 -0400
---- builtins/read.def 2013-01-25 10:28:16.000038000 -0500
-***************
-*** 386,393 ****
- /* Tricky. The top of the unwind-protect stack is the free of
- input_string. We want to run all the rest and use input_string,
-! so we have to remove it from the stack. */
-! remove_unwind_protect ();
-! run_unwind_frame ("read_builtin");
- input_string[i] = '\0'; /* make sure it's terminated */
- retval = 128+SIGALRM;
- goto assign_vars;
---- 386,403 ----
- /* Tricky. The top of the unwind-protect stack is the free of
- input_string. We want to run all the rest and use input_string,
-! so we have to save input_string temporarily, run the unwind-
-! protects, then restore input_string so we can use it later. */
-!
- input_string[i] = '\0'; /* make sure it's terminated */
-+ if (i == 0)
-+ {
-+ t = (char *)xmalloc (1);
-+ t[0] = 0;
-+ }
-+ else
-+ t = savestring (input_string);
-+
-+ run_unwind_frame ("read_builtin");
-+ input_string = t;
- retval = 128+SIGALRM;
- goto assign_vars;
-
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 42
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 43
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-044 b/source/a/bash/bash-4.2-patches/bash42-044
deleted file mode 100644
index e5bf28323..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-044
+++ /dev/null
@@ -1,70 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-044
-
-Bug-Reported-by: "Dashing" <dashing@hushmail.com>
-Bug-Reference-ID: <20130211175049.D90786F446@smtp.hushmail.com>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2013-02/msg00030.html
-
-Bug-Description:
-
-When converting a multibyte string to a wide character string as part of
-pattern matching, bash does not handle the end of the string correctly,
-causing the search for the NUL to go beyond the end of the string and
-reference random memory. Depending on the contents of that memory, bash
-can produce errors or crash.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/lib/glob/xmbsrtowcs.c 2012-07-08 21:53:19.000000000 -0400
---- lib/glob/xmbsrtowcs.c 2013-02-12 12:00:39.000000000 -0500
-***************
-*** 217,220 ****
---- 217,226 ----
- n = mbsnrtowcs(wsbuf+wcnum, &p, nms, wsbuf_size-wcnum, &state);
-
-+ if (n == 0 && p == 0)
-+ {
-+ wsbuf[wcnum] = L'\0';
-+ break;
-+ }
-+
- /* Compensate for taking single byte on wcs conversion failure above. */
- if (wcslength == 1 && (n == 0 || n == (size_t)-1))
-***************
-*** 222,226 ****
- state = tmp_state;
- p = tmp_p;
-! wsbuf[wcnum++] = *p++;
- }
- else
---- 228,238 ----
- state = tmp_state;
- p = tmp_p;
-! wsbuf[wcnum] = *p;
-! if (*p == 0)
-! break;
-! else
-! {
-! wcnum++; p++;
-! }
- }
- else
-
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 43
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 44
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.2-patches/bash42-045 b/source/a/bash/bash-4.2-patches/bash42-045
deleted file mode 100644
index e0f8559ec..000000000
--- a/source/a/bash/bash-4.2-patches/bash42-045
+++ /dev/null
@@ -1,53 +0,0 @@
- BASH PATCH REPORT
- =================
-
-Bash-Release: 4.2
-Patch-ID: bash42-045
-
-Bug-Reported-by: Stephane Chazelas <stephane.chazelas@gmail.com>
-Bug-Reference-ID: <20130218195539.GA9620@chaz.gmail.com>
-Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2013-02/msg00080.html
-
-Bug-Description:
-
-The <&n- and >&n- redirections, which move one file descriptor to another,
-leave the file descriptor closed when applied to builtins or compound
-commands.
-
-Patch (apply with `patch -p0'):
-
-*** ../bash-4.2-patched/redir.c 2013-01-30 11:56:09.000000000 -0500
---- redir.c 2013-02-19 09:38:36.000000000 -0500
-***************
-*** 1008,1011 ****
---- 1008,1021 ----
- REDIRECTION_ERROR (r, errno, -1);
- }
-+ if ((flags & RX_UNDOABLE) && (ri == r_move_input || ri == r_move_output))
-+ {
-+ /* r_move_input and r_move_output add an additional close()
-+ that needs to be undone */
-+ if (fcntl (redirector, F_GETFD, 0) != -1)
-+ {
-+ r = add_undo_redirect (redir_fd, r_close_this, -1);
-+ REDIRECTION_ERROR (r, errno, -1);
-+ }
-+ }
- #if defined (BUFFERED_INPUT)
- check_bash_input (redirector);
-
-*** ../bash-4.2-patched/patchlevel.h Sat Jun 12 20:14:48 2010
---- patchlevel.h Thu Feb 24 21:41:34 2011
-***************
-*** 26,30 ****
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 44
-
- #endif /* _PATCHLEVEL_H_ */
---- 26,30 ----
- looks for to find the patch level (for the sccs version string). */
-
-! #define PATCHLEVEL 45
-
- #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-001 b/source/a/bash/bash-4.3-patches/bash43-001
new file mode 100644
index 000000000..ea1c6b265
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-001
@@ -0,0 +1,58 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-001
+
+Bug-Reported-by: NBaH <nbah@sfr.fr>
+Bug-Reference-ID: <ler0b5$iu9$1@speranza.aioe.org>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-02/msg00092.html
+
+Bug-Description:
+
+A missing check for a valid option prevented `test -R' from working. There
+is another problem that causes bash to look up the wrong variable name when
+processing the argument to `test -R'.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3/test.c 2014-02-04 16:52:58.000000000 -0500
+--- test.c 2014-02-28 21:22:44.000000000 -0500
+***************
+*** 647,652 ****
+
+ case 'R':
+! v = find_variable (arg);
+! return (v && invisible_p (v) == 0 && var_isset (v) && nameref_p (v) ? TRUE : FALSE);
+ }
+
+--- 647,652 ----
+
+ case 'R':
+! v = find_variable_noref (arg);
+! return ((v && invisible_p (v) == 0 && var_isset (v) && nameref_p (v)) ? TRUE : FALSE);
+ }
+
+***************
+*** 724,727 ****
+--- 724,728 ----
+ case 'u': case 'v': case 'w': case 'x': case 'z':
+ case 'G': case 'L': case 'O': case 'S': case 'N':
++ case 'R':
+ return (1);
+ }
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 0
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 1
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-002 b/source/a/bash/bash-4.3-patches/bash43-002
new file mode 100644
index 000000000..735b7b81a
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-002
@@ -0,0 +1,62 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-002
+
+Bug-Reported-by: Moe Tunes <moetunes42@gmail.com>
+Bug-Reference-ID: <53103F49.3070100@gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-02/msg00086.html
+
+Bug-Description:
+
+A change to save state while running the DEBUG trap caused pipelines to hang
+on systems which need process group synchronization while building pipelines.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3/trap.c 2014-02-05 10:03:21.000000000 -0500
+--- trap.c 2014-02-28 09:51:43.000000000 -0500
+***************
+*** 921,925 ****
+
+ #if defined (JOB_CONTROL)
+! save_pipeline (1); /* XXX only provides one save level */
+ #endif
+
+--- 921,926 ----
+
+ #if defined (JOB_CONTROL)
+! if (sig != DEBUG_TRAP) /* run_debug_trap does this */
+! save_pipeline (1); /* XXX only provides one save level */
+ #endif
+
+***************
+*** 941,945 ****
+
+ #if defined (JOB_CONTROL)
+! restore_pipeline (1);
+ #endif
+
+--- 942,947 ----
+
+ #if defined (JOB_CONTROL)
+! if (sig != DEBUG_TRAP) /* run_debug_trap does this */
+! restore_pipeline (1);
+ #endif
+
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 1
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 2
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-003 b/source/a/bash/bash-4.3-patches/bash43-003
new file mode 100644
index 000000000..0f32f410d
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-003
@@ -0,0 +1,48 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-003
+
+Bug-Reported-by: Anatol Pomozov <anatol.pomozov@gmail.com>
+Bug-Reference-ID: <CAOMFOmXy3mT2So5GQ5F-smCVArQuAeBwZ2QKzgCtMeXJoDeYOQ@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-readline/2014-03/msg00010.html
+
+Bug-Description:
+
+When in callback mode, some readline commands can cause readline to seg
+fault by passing invalid contexts to callback functions.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3/lib/readline/readline.c 2013-10-28 14:58:06.000000000 -0400
+--- lib/readline/readline.c 2014-03-10 14:15:02.000000000 -0400
+***************
+*** 745,749 ****
+
+ RL_CHECK_SIGNALS ();
+! if (r == 0) /* success! */
+ {
+ _rl_keyseq_chain_dispose ();
+--- 745,750 ----
+
+ RL_CHECK_SIGNALS ();
+! /* We only treat values < 0 specially to simulate recursion. */
+! if (r >= 0 || (r == -1 && (cxt->flags & KSEQ_SUBSEQ) == 0)) /* success! or failure! */
+ {
+ _rl_keyseq_chain_dispose ();
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 2
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 3
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-004 b/source/a/bash/bash-4.3-patches/bash43-004
new file mode 100644
index 000000000..010f04a2a
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-004
@@ -0,0 +1,47 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-004
+
+Bug-Reported-by: Daan van Rossum <daan@flash.uchicago.edu>
+Bug-Reference-ID: <20140307072523.GA14250@flash.uchicago.edu>
+Bug-Reference-URL:
+
+Bug-Description:
+
+The `.' command in vi mode cannot undo multi-key commands beginning with
+`c', `d', and `y' (command plus motion specifier).
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3/lib/readline/readline.c 2013-10-28 14:58:06.000000000 -0400
+--- lib/readline/readline.c 2014-03-07 15:20:33.000000000 -0500
+***************
+*** 965,969 ****
+ if (rl_editing_mode == vi_mode && _rl_keymap == vi_movement_keymap &&
+ key != ANYOTHERKEY &&
+! rl_key_sequence_length == 1 && /* XXX */
+ _rl_vi_textmod_command (key))
+ _rl_vi_set_last (key, rl_numeric_arg, rl_arg_sign);
+--- 965,969 ----
+ if (rl_editing_mode == vi_mode && _rl_keymap == vi_movement_keymap &&
+ key != ANYOTHERKEY &&
+! _rl_dispatching_keymap == vi_movement_keymap &&
+ _rl_vi_textmod_command (key))
+ _rl_vi_set_last (key, rl_numeric_arg, rl_arg_sign);
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 3
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 4
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-005 b/source/a/bash/bash-4.3-patches/bash43-005
new file mode 100644
index 000000000..bcd40697c
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-005
@@ -0,0 +1,63 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-005
+
+Bug-Reported-by: David Sines <dave.gma@googlemail.com>
+Bug-Reference-ID: <CAO3BAa_CK_Rgkhdfzs+NJ4KFYdB9qW3pvXQK0xLCi6GMmDU8bw@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00037.html
+
+Bug-Description:
+
+When in Posix mode, bash did not correctly interpret the ANSI-C-style
+$'...' quoting mechanism when performing pattern substitution word
+expansions within double quotes.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3/parse.y 2014-02-11 09:42:10.000000000 -0500
+--- parse.y 2014-03-07 20:57:15.000000000 -0500
+***************
+*** 3399,3403 ****
+ unescaped double-quotes or single-quotes, if any, shall occur." */
+ /* This was changed in Austin Group Interp 221 */
+! if MBTEST(posixly_correct && shell_compatibility_level > 41 && dolbrace_state != DOLBRACE_QUOTE && (flags & P_DQUOTE) && (flags & P_DOLBRACE) && ch == '\'')
+ continue;
+
+--- 3399,3403 ----
+ unescaped double-quotes or single-quotes, if any, shall occur." */
+ /* This was changed in Austin Group Interp 221 */
+! if MBTEST(posixly_correct && shell_compatibility_level > 41 && dolbrace_state != DOLBRACE_QUOTE && dolbrace_state != DOLBRACE_QUOTE2 && (flags & P_DQUOTE) && (flags & P_DOLBRACE) && ch == '\'')
+ continue;
+
+*** ../bash-4.3/y.tab.c 2014-02-11 10:57:47.000000000 -0500
+--- y.tab.c 2014-03-28 10:41:15.000000000 -0400
+***************
+*** 5711,5715 ****
+ unescaped double-quotes or single-quotes, if any, shall occur." */
+ /* This was changed in Austin Group Interp 221 */
+! if MBTEST(posixly_correct && shell_compatibility_level > 41 && dolbrace_state != DOLBRACE_QUOTE && (flags & P_DQUOTE) && (flags & P_DOLBRACE) && ch == '\'')
+ continue;
+
+--- 5711,5715 ----
+ unescaped double-quotes or single-quotes, if any, shall occur." */
+ /* This was changed in Austin Group Interp 221 */
+! if MBTEST(posixly_correct && shell_compatibility_level > 41 && dolbrace_state != DOLBRACE_QUOTE && dolbrace_state != DOLBRACE_QUOTE2 && (flags & P_DQUOTE) && (flags & P_DOLBRACE) && ch == '\'')
+ continue;
+
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 4
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 5
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-006 b/source/a/bash/bash-4.3-patches/bash43-006
new file mode 100644
index 000000000..24ff057a5
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-006
@@ -0,0 +1,48 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-006
+
+Bug-Reported-by: Eduardo A . Bustamante Lopez <dualbus@gmail.com>
+Bug-Reference-ID: <20140228170013.GA16015@dualbus.me>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-02/msg00091.html
+
+Bug-Description:
+
+A shell that started with job control active but was not interactive left
+the terminal in the wrong process group when exiting, causing its parent
+shell to get a stop signal when it attempted to read from the terminal.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3/jobs.c 2014-01-10 09:05:34.000000000 -0500
+--- jobs.c 2014-03-02 18:05:09.000000000 -0500
+***************
+*** 4375,4379 ****
+ end_job_control ()
+ {
+! if (interactive_shell) /* XXX - should it be interactive? */
+ {
+ terminate_stopped_jobs ();
+--- 4375,4379 ----
+ end_job_control ()
+ {
+! if (interactive_shell || job_control) /* XXX - should it be just job_control? */
+ {
+ terminate_stopped_jobs ();
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 5
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 6
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-007 b/source/a/bash/bash-4.3-patches/bash43-007
new file mode 100644
index 000000000..0d62c9ec6
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-007
@@ -0,0 +1,50 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-007
+
+Bug-Reported-by: geir.hauge@gmail.com
+Bug-Reference-ID: <20140318093650.B181C1C5B0B@gina.itea.ntnu.no>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00095.html
+
+Bug-Description:
+
+Using compound assignments for associative arrays like
+
+assoc=( [x]= [y]=bar )
+
+left the value corresponding to the key `x' NULL. This caused subsequent
+lookups to interpret it as unset.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3/arrayfunc.c 2013-08-02 16:19:59.000000000 -0400
+--- arrayfunc.c 2014-03-18 11:08:15.000000000 -0400
+***************
+*** 598,601 ****
+--- 598,606 ----
+ {
+ val = expand_assignment_string_to_string (val, 0);
++ if (val == 0)
++ {
++ val = (char *)xmalloc (1);
++ val[0] = '\0'; /* like do_assignment_internal */
++ }
+ free_val = 1;
+ }
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 6
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 7
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-008 b/source/a/bash/bash-4.3-patches/bash43-008
new file mode 100644
index 000000000..0ae7c9522
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-008
@@ -0,0 +1,188 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-008
+
+Bug-Reported-by: Stephane Chazelas <stephane.chazelas@gmail.com>
+Bug-Reference-ID: <20140318135901.GB22158@chaz.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00098.html
+
+Bug-Description:
+
+Some extended glob patterns incorrectly matched filenames with a leading
+dot, regardless of the setting of the `dotglob' option.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3/lib/glob/gmisc.c 2013-10-28 14:45:25.000000000 -0400
+--- lib/glob/gmisc.c 2014-03-19 09:16:08.000000000 -0400
+***************
+*** 211,214 ****
+--- 211,215 ----
+ case '!':
+ case '@':
++ case '?':
+ return (pat[1] == LPAREN);
+ default:
+*** ../bash-4.3/lib/glob/glob.c 2014-01-31 21:43:51.000000000 -0500
+--- lib/glob/glob.c 2014-03-20 09:01:26.000000000 -0400
+***************
+*** 180,202 ****
+ int flags;
+ {
+! char *pp, *pe, *t;
+! int n, r;
+
+ pp = pat + 2;
+! pe = pp + strlen (pp) - 1; /*(*/
+! if (*pe != ')')
+! return 0;
+! if ((t = strchr (pp, '|')) == 0) /* easy case first */
+ {
+ *pe = '\0';
+ r = skipname (pp, dname, flags); /*(*/
+ *pe = ')';
+ return r;
+ }
+ while (t = glob_patscan (pp, pe, '|'))
+ {
+ n = t[-1];
+ t[-1] = '\0';
+ r = skipname (pp, dname, flags);
+ t[-1] = n;
+ if (r == 0) /* if any pattern says not skip, we don't skip */
+--- 180,215 ----
+ int flags;
+ {
+! char *pp, *pe, *t, *se;
+! int n, r, negate;
+
++ negate = *pat == '!';
+ pp = pat + 2;
+! se = pp + strlen (pp) - 1; /* end of string */
+! pe = glob_patscan (pp, se, 0); /* end of extglob pattern (( */
+! /* we should check for invalid extglob pattern here */
+! /* if pe != se we have more of the pattern at the end of the extglob
+! pattern. Check the easy case first ( */
+! if (pe == se && *pe == ')' && (t = strchr (pp, '|')) == 0)
+ {
+ *pe = '\0';
++ #if defined (HANDLE_MULTIBYTE)
++ r = mbskipname (pp, dname, flags);
++ #else
+ r = skipname (pp, dname, flags); /*(*/
++ #endif
+ *pe = ')';
+ return r;
+ }
++
++ /* check every subpattern */
+ while (t = glob_patscan (pp, pe, '|'))
+ {
+ n = t[-1];
+ t[-1] = '\0';
++ #if defined (HANDLE_MULTIBYTE)
++ r = mbskipname (pp, dname, flags);
++ #else
+ r = skipname (pp, dname, flags);
++ #endif
+ t[-1] = n;
+ if (r == 0) /* if any pattern says not skip, we don't skip */
+***************
+*** 205,219 ****
+ } /*(*/
+
+! if (pp == pe) /* glob_patscan might find end of pattern */
+ return r;
+
+! *pe = '\0';
+! # if defined (HANDLE_MULTIBYTE)
+! r = mbskipname (pp, dname, flags); /*(*/
+! # else
+! r = skipname (pp, dname, flags); /*(*/
+! # endif
+! *pe = ')';
+! return r;
+ }
+ #endif
+--- 218,227 ----
+ } /*(*/
+
+! /* glob_patscan might find end of pattern */
+! if (pp == se)
+ return r;
+
+! /* but if it doesn't then we didn't match a leading dot */
+! return 0;
+ }
+ #endif
+***************
+*** 278,289 ****
+ {
+ #if EXTENDED_GLOB
+! wchar_t *pp, *pe, *t, n;
+! int r;
+
+ pp = pat + 2;
+! pe = pp + wcslen (pp) - 1; /*(*/
+! if (*pe != L')')
+! return 0;
+! if ((t = wcschr (pp, L'|')) == 0)
+ {
+ *pe = L'\0';
+--- 286,298 ----
+ {
+ #if EXTENDED_GLOB
+! wchar_t *pp, *pe, *t, n, *se;
+! int r, negate;
+
++ negate = *pat == L'!';
+ pp = pat + 2;
+! se = pp + wcslen (pp) - 1; /*(*/
+! pe = glob_patscan_wc (pp, se, 0);
+!
+! if (pe == se && *pe == ')' && (t = wcschr (pp, L'|')) == 0)
+ {
+ *pe = L'\0';
+***************
+*** 292,295 ****
+--- 301,306 ----
+ return r;
+ }
++
++ /* check every subpattern */
+ while (t = glob_patscan_wc (pp, pe, '|'))
+ {
+***************
+*** 306,313 ****
+ return r;
+
+! *pe = L'\0';
+! r = wchkname (pp, dname); /*(*/
+! *pe = L')';
+! return r;
+ #else
+ return (wchkname (pat, dname));
+--- 317,322 ----
+ return r;
+
+! /* but if it doesn't then we didn't match a leading dot */
+! return 0;
+ #else
+ return (wchkname (pat, dname));
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 7
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 8
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-009 b/source/a/bash/bash-4.3-patches/bash43-009
new file mode 100644
index 000000000..015835cde
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-009
@@ -0,0 +1,64 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-009
+
+Bug-Reported-by: Matthias Klose <doko@debian.org>
+Bug-Reference-ID: <53346FC8.6090005@debian.org>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00171.html
+
+Bug-Description:
+
+There is a problem with unsigned sign extension when attempting to reallocate
+the input line when it is fewer than 3 characters long and there has been a
+history expansion. The sign extension causes the shell to not reallocate the
+line, which results in a segmentation fault when it writes past the end.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/parse.y 2014-02-11 09:42:10.000000000 -0500
+--- parse.y 2014-03-27 16:33:29.000000000 -0400
+***************
+*** 2425,2429 ****
+ if (shell_input_line_terminator != EOF)
+ {
+! if (shell_input_line_size < SIZE_MAX && shell_input_line_len > shell_input_line_size - 3)
+ shell_input_line = (char *)xrealloc (shell_input_line,
+ 1 + (shell_input_line_size += 2));
+--- 2425,2429 ----
+ if (shell_input_line_terminator != EOF)
+ {
+! if (shell_input_line_size < SIZE_MAX-3 && (shell_input_line_len+3 > shell_input_line_size))
+ shell_input_line = (char *)xrealloc (shell_input_line,
+ 1 + (shell_input_line_size += 2));
+*** ../bash-4.3-patched/y.tab.c 2014-03-28 11:17:06.000000000 -0400
+--- y.tab.c 2014-04-07 11:48:31.000000000 -0400
+***************
+*** 4737,4741 ****
+ if (shell_input_line_terminator != EOF)
+ {
+! if (shell_input_line_size < SIZE_MAX && shell_input_line_len > shell_input_line_size - 3)
+ shell_input_line = (char *)xrealloc (shell_input_line,
+ 1 + (shell_input_line_size += 2));
+--- 4737,4741 ----
+ if (shell_input_line_terminator != EOF)
+ {
+! if (shell_input_line_size < SIZE_MAX-3 && (shell_input_line_len+3 > shell_input_line_size))
+ shell_input_line = (char *)xrealloc (shell_input_line,
+ 1 + (shell_input_line_size += 2));
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 8
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 9
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-010 b/source/a/bash/bash-4.3-patches/bash43-010
new file mode 100644
index 000000000..835a96ead
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-010
@@ -0,0 +1,157 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-010
+
+Bug-Reported-by: Albert Shih <Albert.Shih@obspm.fr>
+Bug-Reference-ID: Wed, 5 Mar 2014 23:01:40 +0100
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00028.html
+
+Bug-Description:
+
+Patch (apply with `patch -p0'):
+
+This patch changes the behavior of programmable completion to compensate
+for two assumptions made by the bash-completion package. Bash-4.3 changed
+to dequote the argument to programmable completion only under certain
+circumstances, to make the behavior of compgen more consistent when run
+from the command line -- closer to the behavior when run by a shell function
+run as part of programmable completion. Bash-completion can pass quoted
+arguments to compgen when the original word to be completed was not quoted,
+expecting programmable completion to dequote the word before attempting
+completion.
+
+This patch fixes two cases:
+
+1. An empty string that bash-completion passes to compgen as a quoted null
+ string ('').
+
+2. An unquoted word that bash-completion quotes using single quotes or
+ backslashes before passing it to compgen.
+
+In these cases, since readline did not detect a quote character in the original
+word to be completed, bash-4.3
+
+*** ../bash-4.3/externs.h 2014-01-02 14:58:20.000000000 -0500
+--- externs.h 2014-03-13 14:42:57.000000000 -0400
+***************
+*** 325,328 ****
+--- 325,329 ----
+ extern char *sh_backslash_quote_for_double_quotes __P((char *));
+ extern int sh_contains_shell_metas __P((char *));
++ extern int sh_contains_quotes __P((char *));
+
+ /* declarations for functions defined in lib/sh/spell.c */
+*** ../bash-4.3/lib/sh/shquote.c 2013-03-31 21:53:32.000000000 -0400
+--- lib/sh/shquote.c 2014-03-13 14:42:57.000000000 -0400
+***************
+*** 312,313 ****
+--- 312,327 ----
+ return (0);
+ }
++
++ int
++ sh_contains_quotes (string)
++ char *string;
++ {
++ char *s;
++
++ for (s = string; s && *s; s++)
++ {
++ if (*s == '\'' || *s == '"' || *s == '\\')
++ return 1;
++ }
++ return 0;
++ }
+*** ../bash-4.3/pcomplete.c 2013-08-26 15:23:45.000000000 -0400
+--- pcomplete.c 2014-03-25 17:23:23.000000000 -0400
+***************
+*** 184,187 ****
+--- 184,188 ----
+ COMPSPEC *pcomp_curcs;
+ const char *pcomp_curcmd;
++ const char *pcomp_curtxt;
+
+ #ifdef DEBUG
+***************
+*** 754,757 ****
+--- 755,784 ----
+ dfn = (*rl_filename_dequoting_function) ((char *)text, rl_completion_quote_character);
+ }
++ /* Intended to solve a mismatched assumption by bash-completion. If
++ the text to be completed is empty, but bash-completion turns it into
++ a quoted string ('') assuming that this code will dequote it before
++ calling readline, do the dequoting. */
++ else if (iscompgen && iscompleting &&
++ pcomp_curtxt && *pcomp_curtxt == 0 &&
++ text && (*text == '\'' || *text == '"') && text[1] == text[0] && text[2] == 0 &&
++ rl_filename_dequoting_function)
++ dfn = (*rl_filename_dequoting_function) ((char *)text, rl_completion_quote_character);
++ /* Another mismatched assumption by bash-completion. If compgen is being
++ run as part of bash-completion, and the argument to compgen is not
++ the same as the word originally passed to the programmable completion
++ code, dequote the argument if it has quote characters. It's an
++ attempt to detect when bash-completion is quoting its filename
++ argument before calling compgen. */
++ /* We could check whether gen_shell_function_matches is in the call
++ stack by checking whether the gen-shell-function-matches tag is in
++ the unwind-protect stack, but there's no function to do that yet.
++ We could simply check whether we're executing in a function by
++ checking variable_context, and may end up doing that. */
++ else if (iscompgen && iscompleting && rl_filename_dequoting_function &&
++ pcomp_curtxt && text &&
++ STREQ (pcomp_curtxt, text) == 0 &&
++ variable_context &&
++ sh_contains_quotes (text)) /* guess */
++ dfn = (*rl_filename_dequoting_function) ((char *)text, rl_completion_quote_character);
+ else
+ dfn = savestring (text);
+***************
+*** 1523,1527 ****
+ {
+ COMPSPEC *cs, *oldcs;
+! const char *oldcmd;
+ STRINGLIST *ret;
+
+--- 1550,1554 ----
+ {
+ COMPSPEC *cs, *oldcs;
+! const char *oldcmd, *oldtxt;
+ STRINGLIST *ret;
+
+***************
+*** 1546,1552 ****
+--- 1573,1581 ----
+ oldcs = pcomp_curcs;
+ oldcmd = pcomp_curcmd;
++ oldtxt = pcomp_curtxt;
+
+ pcomp_curcs = cs;
+ pcomp_curcmd = cmd;
++ pcomp_curtxt = word;
+
+ ret = gen_compspec_completions (cs, cmd, word, start, end, foundp);
+***************
+*** 1554,1557 ****
+--- 1583,1587 ----
+ pcomp_curcs = oldcs;
+ pcomp_curcmd = oldcmd;
++ pcomp_curtxt = oldtxt;
+
+ /* We need to conditionally handle setting *retryp here */
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 9
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 10
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-011 b/source/a/bash/bash-4.3-patches/bash43-011
new file mode 100644
index 000000000..cdc1572ee
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-011
@@ -0,0 +1,49 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-011
+
+Bug-Reported-by: Egmont Koblinger <egmont@gmail.com>
+Bug-Reference-ID: <CAGWcZk+bU5Jo1M+tutGvL-250UBE9DXjpeJVofYJSFcqFEVfMg@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-03/msg00153.html
+
+Bug-Description:
+
+The signal handling changes to bash and readline (to avoid running any code
+in a signal handler context) cause the cursor to be placed on the wrong
+line of a multi-line command after a ^C interrupts editing.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/lib/readline/display.c 2013-12-27 13:10:56.000000000 -0500
+--- lib/readline/display.c 2014-03-27 11:52:45.000000000 -0400
+***************
+*** 2678,2682 ****
+ if (_rl_echoing_p)
+ {
+! _rl_move_vert (_rl_vis_botlin);
+ _rl_vis_botlin = 0;
+ fflush (rl_outstream);
+--- 2678,2683 ----
+ if (_rl_echoing_p)
+ {
+! if (_rl_vis_botlin > 0) /* minor optimization plus bug fix */
+! _rl_move_vert (_rl_vis_botlin);
+ _rl_vis_botlin = 0;
+ fflush (rl_outstream);
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 10
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 11
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-012 b/source/a/bash/bash-4.3-patches/bash43-012
new file mode 100644
index 000000000..176fa15bd
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-012
@@ -0,0 +1,43 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-012
+
+Bug-Reported-by: Eduardo A. Bustamante López<dualbus@gmail.com>
+Bug-Reference-ID: <5346B54C.4070205@case.edu>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-04/msg00051.html
+
+Bug-Description:
+
+When a SIGCHLD trap runs a command containing a shell builtin while
+a script is running `wait' to wait for all running children to complete,
+the SIGCHLD trap will not be run once for each child that terminates.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/jobs.c 2014-03-28 10:54:19.000000000 -0400
+--- jobs.c 2014-04-15 08:47:03.000000000 -0400
+***************
+*** 3598,3601 ****
+--- 3598,3602 ----
+ unwind_protect_pointer (the_pipeline);
+ unwind_protect_pointer (subst_assign_varlist);
++ unwind_protect_pointer (this_shell_builtin);
+
+ /* We have to add the commands this way because they will be run
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 11
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 12
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-013 b/source/a/bash/bash-4.3-patches/bash43-013
new file mode 100644
index 000000000..8f4006b48
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-013
@@ -0,0 +1,66 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-013
+
+Bug-Reported-by: <Trond.Endrestol@ximalas.info>
+Bug-Reference-ID: <alpine.BSF.2.03.1404192114310.1973@enterprise.ximalas.info>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-04/msg00069.html
+
+Bug-Description:
+
+Using reverse-i-search when horizontal scrolling is enabled does not redisplay
+the entire line containing the successful search results.
+
+Patch (apply with `patch -p0'):
+*** ../bash-4.3-patched/lib/readline/display.c 2014-04-08 18:19:36.000000000 -0400
+--- lib/readline/display.c 2014-04-20 18:32:52.000000000 -0400
+***************
+*** 1638,1642 ****
+ the spot of first difference is before the end of the invisible chars,
+ lendiff needs to be adjusted. */
+! if (current_line == 0 && !_rl_horizontal_scroll_mode &&
+ current_invis_chars != visible_wrap_offset)
+ {
+--- 1638,1642 ----
+ the spot of first difference is before the end of the invisible chars,
+ lendiff needs to be adjusted. */
+! if (current_line == 0 && /* !_rl_horizontal_scroll_mode && */
+ current_invis_chars != visible_wrap_offset)
+ {
+***************
+*** 1826,1831 ****
+ _rl_last_c_pos += bytes_to_insert;
+
+ if (_rl_horizontal_scroll_mode && ((oe-old) > (ne-new)))
+! goto clear_rest_of_line;
+ }
+ }
+--- 1826,1836 ----
+ _rl_last_c_pos += bytes_to_insert;
+
++ /* XXX - we only want to do this if we are at the end of the line
++ so we move there with _rl_move_cursor_relative */
+ if (_rl_horizontal_scroll_mode && ((oe-old) > (ne-new)))
+! {
+! _rl_move_cursor_relative (ne-new, new);
+! goto clear_rest_of_line;
+! }
+ }
+ }
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 12
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 13
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-014 b/source/a/bash/bash-4.3-patches/bash43-014
new file mode 100644
index 000000000..f8371967f
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-014
@@ -0,0 +1,102 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-014
+
+Bug-Reported-by: Greg Wooledge <wooledg@eeg.ccf.org>
+Bug-Reference-ID: <20140418202123.GB7660@eeg.ccf.org>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/help-bash/2014-04/msg00004.html
+
+Bug-Description:
+
+Under certain circumstances, $@ is expanded incorrectly in contexts where
+word splitting is not performed.
+
+Patch (apply with `patch -p0'):
+*** ../bash-4.3-patched/subst.c 2014-01-23 16:26:37.000000000 -0500
+--- subst.c 2014-04-19 15:41:26.000000000 -0400
+***************
+*** 3249,3254 ****
+--- 3249,3256 ----
+ return ((char *)NULL);
+
++ expand_no_split_dollar_star = 1;
+ w->flags |= W_NOSPLIT2;
+ l = call_expand_word_internal (w, 0, 0, (int *)0, (int *)0);
++ expand_no_split_dollar_star = 0;
+ if (l)
+ {
+***************
+*** 7848,7851 ****
+--- 7850,7857 ----
+ according to POSIX.2, this expands to a list of the positional
+ parameters no matter what IFS is set to. */
++ /* XXX - what to do when in a context where word splitting is not
++ performed? Even when IFS is not the default, posix seems to imply
++ that we behave like unquoted $* ? Maybe we should use PF_NOSPLIT2
++ here. */
+ temp = string_list_dollar_at (list, (pflags & PF_ASSIGNRHS) ? (quoted|Q_DOUBLE_QUOTES) : quoted);
+
+***************
+*** 8817,8820 ****
+--- 8823,8827 ----
+ {
+ char *ifs_chars;
++ char *tstring;
+
+ ifs_chars = (quoted_dollar_at || has_dollar_at) ? ifs_value : (char *)NULL;
+***************
+*** 8831,8834 ****
+--- 8838,8865 ----
+ if (split_on_spaces)
+ list = list_string (istring, " ", 1); /* XXX quoted == 1? */
++ /* If we have $@ (has_dollar_at != 0) and we are in a context where we
++ don't want to split the result (W_NOSPLIT2), and we are not quoted,
++ we have already separated the arguments with the first character of
++ $IFS. In this case, we want to return a list with a single word
++ with the separator possibly replaced with a space (it's what other
++ shells seem to do).
++ quoted_dollar_at is internal to this function and is set if we are
++ passed an argument that is unquoted (quoted == 0) but we encounter a
++ double-quoted $@ while expanding it. */
++ else if (has_dollar_at && quoted_dollar_at == 0 && ifs_chars && quoted == 0 && (word->flags & W_NOSPLIT2))
++ {
++ /* Only split and rejoin if we have to */
++ if (*ifs_chars && *ifs_chars != ' ')
++ {
++ list = list_string (istring, *ifs_chars ? ifs_chars : " ", 1);
++ tstring = string_list (list);
++ }
++ else
++ tstring = istring;
++ tword = make_bare_word (tstring);
++ if (tstring != istring)
++ free (tstring);
++ goto set_word_flags;
++ }
+ else if (has_dollar_at && ifs_chars)
+ list = list_string (istring, *ifs_chars ? ifs_chars : " ", 1);
+***************
+*** 8836,8839 ****
+--- 8867,8871 ----
+ {
+ tword = make_bare_word (istring);
++ set_word_flags:
+ if ((quoted & (Q_DOUBLE_QUOTES|Q_HERE_DOCUMENT)) || (quoted_state == WHOLLY_QUOTED))
+ tword->flags |= W_QUOTED;
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 13
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 14
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-015 b/source/a/bash/bash-4.3-patches/bash43-015
new file mode 100644
index 000000000..9c4e5ea48
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-015
@@ -0,0 +1,58 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-015
+
+Bug-Reported-by: Clark Wang <dearvoid@gmail.com>
+Bug-Reference-ID: <CADv8-og2TOSoabXeNVXVGaXN3tEMHnYVq1rwOLe5meaRPSGRig@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-04/msg00095.html
+
+Bug-Description:
+
+When completing directory names, the directory name is dequoted twice.
+This causes problems for directories with single and double quotes in
+their names.
+
+Patch (apply with `patch -p0'):
+*** ../bash-4.3-patched/bashline.c 2014-02-09 19:56:58.000000000 -0500
+--- bashline.c 2014-04-25 14:57:52.000000000 -0400
+***************
+*** 4168,4174 ****
+
+ qc = rl_dispatching ? rl_completion_quote_character : 0;
+! dfn = bash_dequote_filename ((char *)text, qc);
+ m1 = rl_completion_matches (dfn, rl_filename_completion_function);
+! free (dfn);
+
+ if (m1 == 0 || m1[0] == 0)
+--- 4209,4222 ----
+
+ qc = rl_dispatching ? rl_completion_quote_character : 0;
+! /* If rl_completion_found_quote != 0, rl_completion_matches will call the
+! filename dequoting function, causing the directory name to be dequoted
+! twice. */
+! if (rl_dispatching && rl_completion_found_quote == 0)
+! dfn = bash_dequote_filename ((char *)text, qc);
+! else
+! dfn = (char *)text;
+ m1 = rl_completion_matches (dfn, rl_filename_completion_function);
+! if (dfn != text)
+! free (dfn);
+
+ if (m1 == 0 || m1[0] == 0)
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 14
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 15
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-016 b/source/a/bash/bash-4.3-patches/bash43-016
new file mode 100644
index 000000000..882d5939b
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-016
@@ -0,0 +1,132 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-016
+
+Bug-Reported-by: Pierre Gaston <pierre.gaston@gmail.com>
+Bug-Reference-ID: <CAPSX3sTCD61k1VQLJ5r-LWzEt+e7Xc-fxXmwn2u8EA5gJJej8Q@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-04/msg00100.html
+
+Bug-Description:
+
+An extended glob pattern containing a slash (`/') causes the globbing code
+to misinterpret it as a directory separator.
+
+Patch (apply with `patch -p0'):
+*** ../bash-4.3-patched/lib/glob/glob.c 2014-03-28 10:54:23.000000000 -0400
+--- lib/glob/glob.c 2014-05-02 10:24:28.000000000 -0400
+***************
+*** 124,127 ****
+--- 124,129 ----
+ extern wchar_t *glob_patscan_wc __P((wchar_t *, wchar_t *, int));
+
++ extern char *glob_dirscan __P((char *, int));
++
+ /* Compile `glob_loop.c' for single-byte characters. */
+ #define CHAR unsigned char
+***************
+*** 188,191 ****
+--- 190,196 ----
+ pe = glob_patscan (pp, se, 0); /* end of extglob pattern (( */
+ /* we should check for invalid extglob pattern here */
++ if (pe == 0)
++ return 0;
++
+ /* if pe != se we have more of the pattern at the end of the extglob
+ pattern. Check the easy case first ( */
+***************
+*** 1016,1020 ****
+ char **result;
+ unsigned int result_size;
+! char *directory_name, *filename, *dname;
+ unsigned int directory_len;
+ int free_dirname; /* flag */
+--- 1021,1025 ----
+ char **result;
+ unsigned int result_size;
+! char *directory_name, *filename, *dname, *fn;
+ unsigned int directory_len;
+ int free_dirname; /* flag */
+***************
+*** 1032,1035 ****
+--- 1037,1052 ----
+ /* Find the filename. */
+ filename = strrchr (pathname, '/');
++ #if defined (EXTENDED_GLOB)
++ if (filename && extended_glob)
++ {
++ fn = glob_dirscan (pathname, '/');
++ #if DEBUG_MATCHING
++ if (fn != filename)
++ fprintf (stderr, "glob_filename: glob_dirscan: fn (%s) != filename (%s)\n", fn ? fn : "(null)", filename);
++ #endif
++ filename = fn;
++ }
++ #endif
++
+ if (filename == NULL)
+ {
+*** ../bash-4.3-patched/lib/glob/gmisc.c 2014-03-28 10:54:23.000000000 -0400
+--- lib/glob/gmisc.c 2014-05-02 09:35:57.000000000 -0400
+***************
+*** 43,46 ****
+--- 43,48 ----
+ #define WRPAREN L')'
+
++ extern char *glob_patscan __P((char *, char *, int));
++
+ /* Return 1 of the first character of WSTRING could match the first
+ character of pattern WPAT. Wide character version. */
+***************
+*** 376,377 ****
+--- 378,410 ----
+ return matlen;
+ }
++
++ /* Skip characters in PAT and return the final occurrence of DIRSEP. This
++ is only called when extended_glob is set, so we have to skip over extglob
++ patterns x(...) */
++ char *
++ glob_dirscan (pat, dirsep)
++ char *pat;
++ int dirsep;
++ {
++ char *p, *d, *pe, *se;
++
++ d = pe = se = 0;
++ for (p = pat; p && *p; p++)
++ {
++ if (extglob_pattern_p (p))
++ {
++ if (se == 0)
++ se = p + strlen (p) - 1;
++ pe = glob_patscan (p + 2, se, 0);
++ if (pe == 0)
++ continue;
++ else if (*pe == 0)
++ break;
++ p = pe - 1; /* will do increment above */
++ continue;
++ }
++ if (*p == dirsep)
++ d = p;
++ }
++ return d;
++ }
+
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 15
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 16
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-017 b/source/a/bash/bash-4.3-patches/bash43-017
new file mode 100644
index 000000000..4016fb934
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-017
@@ -0,0 +1,51 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-017
+
+Bug-Reported-by: Dan Douglas <ormaaj@gmail.com>
+Bug-Reference-ID: <7781746.RhfoTROLxF@smorgbox>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-05/msg00026.html
+
+Bug-Description:
+
+The code that creates local variables should not clear the `invisible'
+attribute when returning an existing local variable. Let the code that
+actually assigns a value clear it.
+
+Patch (apply with `patch -p0'):
+*** ../bash-4.3-patched/variables.c 2014-02-14 11:55:12.000000000 -0500
+--- variables.c 2014-05-07 10:53:57.000000000 -0400
+***************
+*** 2198,2205 ****
+ old_var = find_variable (name);
+ if (old_var && local_p (old_var) && old_var->context == variable_context)
+! {
+! VUNSETATTR (old_var, att_invisible); /* XXX */
+! return (old_var);
+! }
+
+ was_tmpvar = old_var && tempvar_p (old_var);
+--- 2260,2264 ----
+ old_var = find_variable (name);
+ if (old_var && local_p (old_var) && old_var->context == variable_context)
+! return (old_var);
+
+ was_tmpvar = old_var && tempvar_p (old_var);
+
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 16
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 17
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-018 b/source/a/bash/bash-4.3-patches/bash43-018
new file mode 100644
index 000000000..39499f663
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-018
@@ -0,0 +1,44 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-018
+
+Bug-Reported-by: Geir Hauge <geir.hauge@gmail.com>
+Bug-Reference-ID: <CAO-BiTLOvfPXDypg61jcBausADrxUKJejakV2WTWP26cW0=rgA@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-05/msg00040.html
+
+Bug-Description:
+
+When assigning an array variable using the compound assignment syntax,
+but using `declare' with the rhs of the compound assignment quoted, the
+shell did not mark the variable as visible after successfully performing
+the assignment.
+
+Patch (apply with `patch -p0'):
+*** ../bash-4.3-patched/arrayfunc.c 2014-03-28 10:54:21.000000000 -0400
+--- arrayfunc.c 2014-05-12 11:19:00.000000000 -0400
+***************
+*** 180,183 ****
+--- 180,184 ----
+ FREE (newval);
+
++ VUNSETATTR (entry, att_invisible); /* no longer invisible */
+ return (entry);
+ }
+
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 17
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 18
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-019 b/source/a/bash/bash-4.3-patches/bash43-019
new file mode 100644
index 000000000..a93714beb
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-019
@@ -0,0 +1,84 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-019
+
+Bug-Reported-by: John Lenton
+Bug-Reference-ID:
+Bug-Reference-URL: https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1317476
+
+Bug-Description:
+
+The -t timeout option to `read' does not work when the -e option is used.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/lib/readline/input.c 2014-01-10 15:07:08.000000000 -0500
+--- lib/readline/input.c 2014-05-22 18:40:59.000000000 -0400
+***************
+*** 535,540 ****
+--- 538,551 ----
+ else if (_rl_caught_signal == SIGHUP || _rl_caught_signal == SIGTERM)
+ return (RL_ISSTATE (RL_STATE_READCMD) ? READERR : EOF);
++ /* keyboard-generated signals of interest */
+ else if (_rl_caught_signal == SIGINT || _rl_caught_signal == SIGQUIT)
+ RL_CHECK_SIGNALS ();
++ /* non-keyboard-generated signals of interest */
++ else if (_rl_caught_signal == SIGALRM
++ #if defined (SIGVTALRM)
++ || _rl_caught_signal == SIGVTALRM
++ #endif
++ )
++ RL_CHECK_SIGNALS ();
+
+ if (rl_signal_event_hook)
+*** ../bash-4.3-patched/builtins/read.def 2013-09-02 11:54:00.000000000 -0400
+--- builtins/read.def 2014-05-08 11:43:35.000000000 -0400
+***************
+*** 443,447 ****
+ #if defined (READLINE)
+ if (edit)
+! add_unwind_protect (reset_attempted_completion_function, (char *)NULL);
+ #endif
+ falarm (tmsec, tmusec);
+--- 443,450 ----
+ #if defined (READLINE)
+ if (edit)
+! {
+! add_unwind_protect (reset_attempted_completion_function, (char *)NULL);
+! add_unwind_protect (bashline_reset_event_hook, (char *)NULL);
+! }
+ #endif
+ falarm (tmsec, tmusec);
+***************
+*** 1022,1025 ****
+--- 1025,1029 ----
+ old_attempted_completion_function = rl_attempted_completion_function;
+ rl_attempted_completion_function = (rl_completion_func_t *)NULL;
++ bashline_set_event_hook ();
+ if (itext)
+ {
+***************
+*** 1033,1036 ****
+--- 1037,1041 ----
+ rl_attempted_completion_function = old_attempted_completion_function;
+ old_attempted_completion_function = (rl_completion_func_t *)NULL;
++ bashline_reset_event_hook ();
+
+ if (ret == 0)
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 18
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 19
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-020 b/source/a/bash/bash-4.3-patches/bash43-020
new file mode 100644
index 000000000..5f533ef8d
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-020
@@ -0,0 +1,110 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-020
+
+Bug-Reported-by: Jared Yanovich <slovichon@gmail.com>
+Bug-Reference-ID: <20140417073654.GB26875@nightderanger.psc.edu>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-04/msg00065.html
+
+Bug-Description:
+
+When PS2 contains a command substitution, here-documents entered in an
+interactive shell can sometimes cause a segmentation fault.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/shell.h 2012-12-25 21:11:01.000000000 -0500
+--- shell.h 2014-06-03 09:24:28.000000000 -0400
+***************
+*** 169,173 ****
+ int expand_aliases;
+ int echo_input_at_read;
+!
+ } sh_parser_state_t;
+
+--- 169,174 ----
+ int expand_aliases;
+ int echo_input_at_read;
+! int need_here_doc;
+!
+ } sh_parser_state_t;
+
+*** ../bash-4.3-patched/parse.y 2014-05-14 09:16:40.000000000 -0400
+--- parse.y 2014-04-30 09:27:59.000000000 -0400
+***************
+*** 2643,2647 ****
+
+ r = 0;
+! while (need_here_doc)
+ {
+ parser_state |= PST_HEREDOC;
+--- 2643,2647 ----
+
+ r = 0;
+! while (need_here_doc > 0)
+ {
+ parser_state |= PST_HEREDOC;
+***************
+*** 6076,6079 ****
+--- 6076,6080 ----
+ ps->expand_aliases = expand_aliases;
+ ps->echo_input_at_read = echo_input_at_read;
++ ps->need_here_doc = need_here_doc;
+
+ ps->token = token;
+***************
+*** 6124,6127 ****
+--- 6125,6129 ----
+ expand_aliases = ps->expand_aliases;
+ echo_input_at_read = ps->echo_input_at_read;
++ need_here_doc = ps->need_here_doc;
+
+ FREE (token);
+*** ../bash-4.3-patched/y.tab.c 2014-04-07 11:56:12.000000000 -0400
+--- y.tab.c 2014-07-30 09:55:57.000000000 -0400
+***************
+*** 4955,4959 ****
+
+ r = 0;
+! while (need_here_doc)
+ {
+ parser_state |= PST_HEREDOC;
+--- 5151,5155 ----
+
+ r = 0;
+! while (need_here_doc > 0)
+ {
+ parser_state |= PST_HEREDOC;
+***************
+*** 8388,8391 ****
+--- 8584,8588 ----
+ ps->expand_aliases = expand_aliases;
+ ps->echo_input_at_read = echo_input_at_read;
++ ps->need_here_doc = need_here_doc;
+
+ ps->token = token;
+***************
+*** 8436,8439 ****
+--- 8633,8637 ----
+ expand_aliases = ps->expand_aliases;
+ echo_input_at_read = ps->echo_input_at_read;
++ need_here_doc = ps->need_here_doc;
+
+ FREE (token);
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 19
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 20
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-021 b/source/a/bash/bash-4.3-patches/bash43-021
new file mode 100644
index 000000000..fd1c945ec
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-021
@@ -0,0 +1,52 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-021
+
+Bug-Reported-by: Jared Yanovich <slovichon@gmail.com>
+Bug-Reference-ID: <20140625225019.GJ17044@nightderanger.psc.edu>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-06/msg00070.html
+
+Bug-Description:
+
+When the readline `revert-all-at-newline' option is set, pressing newline
+when the current line is one retrieved from history results in a double free
+and a segmentation fault.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/lib/readline/misc.c 2012-09-01 18:03:11.000000000 -0400
+--- lib/readline/misc.c 2014-06-30 13:41:19.000000000 -0400
+***************
+*** 462,465 ****
+--- 462,466 ----
+ /* Set up rl_line_buffer and other variables from history entry */
+ rl_replace_from_history (entry, 0); /* entry->line is now current */
++ entry->data = 0; /* entry->data is now current undo list */
+ /* Undo all changes to this history entry */
+ while (rl_undo_list)
+***************
+*** 469,473 ****
+ FREE (entry->line);
+ entry->line = savestring (rl_line_buffer);
+- entry->data = 0;
+ }
+ entry = previous_history ();
+--- 470,473 ----
+
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 20
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 21
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-022 b/source/a/bash/bash-4.3-patches/bash43-022
new file mode 100644
index 000000000..7ce39ec0a
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-022
@@ -0,0 +1,56 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-022
+
+Bug-Reported-by: scorp.dev.null@gmail.com
+Bug-Reference-ID: <E1WxXw8-0007iE-Bi@pcm14>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-06/msg00061.html
+
+Bug-Description:
+
+Using nested pipelines within loops with the `lastpipe' option set can result
+in a segmentation fault.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/execute_cmd.c 2014-01-31 10:54:52.000000000 -0500
+--- execute_cmd.c 2014-06-19 08:05:49.000000000 -0400
+***************
+*** 2410,2414 ****
+ lstdin = wait_for (lastpid);
+ #if defined (JOB_CONTROL)
+! exec_result = job_exit_status (lastpipe_jid);
+ #endif
+ unfreeze_jobs_list ();
+--- 2425,2438 ----
+ lstdin = wait_for (lastpid);
+ #if defined (JOB_CONTROL)
+! /* If wait_for removes the job from the jobs table, use result of last
+! command as pipeline's exit status as usual. The jobs list can get
+! frozen and unfrozen at inconvenient times if there are multiple pipelines
+! running simultaneously. */
+! if (INVALID_JOB (lastpipe_jid) == 0)
+! exec_result = job_exit_status (lastpipe_jid);
+! else if (pipefail_opt)
+! exec_result = exec_result | lstdin; /* XXX */
+! /* otherwise we use exec_result */
+!
+ #endif
+ unfreeze_jobs_list ();
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 21
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 22
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-023 b/source/a/bash/bash-4.3-patches/bash43-023
new file mode 100644
index 000000000..d1e4e9d7c
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-023
@@ -0,0 +1,104 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-023
+
+Bug-Reported-by: Tim Friske <me@timfriske.com>
+Bug-Reference-ID: <CAM1RzOcOR9zzC2i+aeES6LtbHNHoOV+0pZEYPrqxv_QAii-RXA@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-06/msg00056.html
+
+Bug-Description:
+
+Bash does not correctly parse process substitution constructs that contain
+unbalanced parentheses as part of the contained command.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/subst.h 2014-01-11 21:02:27.000000000 -0500
+--- subst.h 2014-07-20 17:25:01.000000000 -0400
+***************
+*** 83,87 ****
+ Start extracting at (SINDEX) as if we had just seen "<(".
+ Make (SINDEX) get the position just after the matching ")". */
+! extern char *extract_process_subst __P((char *, char *, int *));
+ #endif /* PROCESS_SUBSTITUTION */
+
+--- 83,87 ----
+ Start extracting at (SINDEX) as if we had just seen "<(".
+ Make (SINDEX) get the position just after the matching ")". */
+! extern char *extract_process_subst __P((char *, char *, int *, int));
+ #endif /* PROCESS_SUBSTITUTION */
+
+*** ../bash-4.3-patched/subst.c 2014-05-15 08:26:45.000000000 -0400
+--- subst.c 2014-07-20 17:26:44.000000000 -0400
+***************
+*** 1193,1202 ****
+ Make (SINDEX) get the position of the matching ")". */ /*))*/
+ char *
+! extract_process_subst (string, starter, sindex)
+ char *string;
+ char *starter;
+ int *sindex;
+ {
+ return (extract_delimited_string (string, sindex, starter, "(", ")", SX_COMMAND));
+ }
+ #endif /* PROCESS_SUBSTITUTION */
+--- 1193,1208 ----
+ Make (SINDEX) get the position of the matching ")". */ /*))*/
+ char *
+! extract_process_subst (string, starter, sindex, xflags)
+ char *string;
+ char *starter;
+ int *sindex;
++ int xflags;
+ {
++ #if 0
+ return (extract_delimited_string (string, sindex, starter, "(", ")", SX_COMMAND));
++ #else
++ xflags |= (no_longjmp_on_fatal_error ? SX_NOLONGJMP : 0);
++ return (xparse_dolparen (string, string+*sindex, sindex, xflags));
++ #endif
+ }
+ #endif /* PROCESS_SUBSTITUTION */
+***************
+*** 1786,1790 ****
+ if (string[si] == '\0')
+ CQ_RETURN(si);
+! temp = extract_process_subst (string, (c == '<') ? "<(" : ">(", &si);
+ free (temp); /* no SX_ALLOC here */
+ i = si;
+--- 1792,1796 ----
+ if (string[si] == '\0')
+ CQ_RETURN(si);
+! temp = extract_process_subst (string, (c == '<') ? "<(" : ">(", &si, 0);
+ free (temp); /* no SX_ALLOC here */
+ i = si;
+***************
+*** 8250,8254 ****
+ t_index = sindex + 1; /* skip past both '<' and LPAREN */
+
+! temp1 = extract_process_subst (string, (c == '<') ? "<(" : ">(", &t_index); /*))*/
+ sindex = t_index;
+
+--- 8256,8260 ----
+ t_index = sindex + 1; /* skip past both '<' and LPAREN */
+
+! temp1 = extract_process_subst (string, (c == '<') ? "<(" : ">(", &t_index, 0); /*))*/
+ sindex = t_index;
+
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 22
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 23
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-024 b/source/a/bash/bash-4.3-patches/bash43-024
new file mode 100644
index 000000000..a24b8fbbc
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-024
@@ -0,0 +1,54 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-024
+
+Bug-Reported-by: Corentin Peuvrel <cpeuvrel@pom-monitoring.com>
+Bug-Reference-ID: <53CE9E5D.6050203@pom-monitoring.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-07/msg00021.html
+
+Bug-Description:
+
+Indirect variable references do not work correctly if the reference
+variable expands to an array reference using a subscript other than 0
+(e.g., foo='bar[1]' ; echo ${!foo}).
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/subst.c 2014-06-03 09:32:44.000000000 -0400
+--- subst.c 2014-07-23 09:58:19.000000000 -0400
+***************
+*** 7375,7379 ****
+
+ if (want_indir)
+! tdesc = parameter_brace_expand_indir (name + 1, var_is_special, quoted, quoted_dollar_atp, contains_dollar_at);
+ else
+ tdesc = parameter_brace_expand_word (name, var_is_special, quoted, PF_IGNUNBOUND|(pflags&(PF_NOSPLIT2|PF_ASSIGNRHS)), &ind);
+--- 7445,7455 ----
+
+ if (want_indir)
+! {
+! tdesc = parameter_brace_expand_indir (name + 1, var_is_special, quoted, quoted_dollar_atp, contains_dollar_at);
+! /* Turn off the W_ARRAYIND flag because there is no way for this function
+! to return the index we're supposed to be using. */
+! if (tdesc && tdesc->flags)
+! tdesc->flags &= ~W_ARRAYIND;
+! }
+ else
+ tdesc = parameter_brace_expand_word (name, var_is_special, quoted, PF_IGNUNBOUND|(pflags&(PF_NOSPLIT2|PF_ASSIGNRHS)), &ind);
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 23
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 24
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-025 b/source/a/bash/bash-4.3-patches/bash43-025
new file mode 100644
index 000000000..721aca030
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-025
@@ -0,0 +1,123 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-025
+
+Bug-Reported-by: Stephane Chazelas <stephane.chazelas@gmail.com>
+Bug-Reference-ID:
+Bug-Reference-URL:
+
+Bug-Description:
+
+Under certain circumstances, bash will execute user code while processing the
+environment for exported function definitions.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/builtins/common.h 2013-07-08 16:54:47.000000000 -0400
+--- builtins/common.h 2014-09-12 14:25:47.000000000 -0400
+***************
+*** 34,37 ****
+--- 49,54 ----
+ #define SEVAL_PARSEONLY 0x020
+ #define SEVAL_NOLONGJMP 0x040
++ #define SEVAL_FUNCDEF 0x080 /* only allow function definitions */
++ #define SEVAL_ONECMD 0x100 /* only allow a single command */
+
+ /* Flags for describe_command, shared between type.def and command.def */
+*** ../bash-4.3-patched/builtins/evalstring.c 2014-02-11 09:42:10.000000000 -0500
+--- builtins/evalstring.c 2014-09-14 14:15:13.000000000 -0400
+***************
+*** 309,312 ****
+--- 313,324 ----
+ struct fd_bitmap *bitmap;
+
++ if ((flags & SEVAL_FUNCDEF) && command->type != cm_function_def)
++ {
++ internal_warning ("%s: ignoring function definition attempt", from_file);
++ should_jump_to_top_level = 0;
++ last_result = last_command_exit_value = EX_BADUSAGE;
++ break;
++ }
++
+ bitmap = new_fd_bitmap (FD_BITMAP_SIZE);
+ begin_unwind_frame ("pe_dispose");
+***************
+*** 369,372 ****
+--- 381,387 ----
+ dispose_fd_bitmap (bitmap);
+ discard_unwind_frame ("pe_dispose");
++
++ if (flags & SEVAL_ONECMD)
++ break;
+ }
+ }
+*** ../bash-4.3-patched/variables.c 2014-05-15 08:26:50.000000000 -0400
+--- variables.c 2014-09-14 14:23:35.000000000 -0400
+***************
+*** 359,369 ****
+ strcpy (temp_string + char_index + 1, string);
+
+! if (posixly_correct == 0 || legal_identifier (name))
+! parse_and_execute (temp_string, name, SEVAL_NONINT|SEVAL_NOHIST);
+!
+! /* Ancient backwards compatibility. Old versions of bash exported
+! functions like name()=() {...} */
+! if (name[char_index - 1] == ')' && name[char_index - 2] == '(')
+! name[char_index - 2] = '\0';
+
+ if (temp_var = find_function (name))
+--- 364,372 ----
+ strcpy (temp_string + char_index + 1, string);
+
+! /* Don't import function names that are invalid identifiers from the
+! environment, though we still allow them to be defined as shell
+! variables. */
+! if (legal_identifier (name))
+! parse_and_execute (temp_string, name, SEVAL_NONINT|SEVAL_NOHIST|SEVAL_FUNCDEF|SEVAL_ONECMD);
+
+ if (temp_var = find_function (name))
+***************
+*** 382,389 ****
+ report_error (_("error importing function definition for `%s'"), name);
+ }
+-
+- /* ( */
+- if (name[char_index - 1] == ')' && name[char_index - 2] == '\0')
+- name[char_index - 2] = '('; /* ) */
+ }
+ #if defined (ARRAY_VARS)
+--- 385,388 ----
+*** ../bash-4.3-patched/subst.c 2014-08-11 11:16:35.000000000 -0400
+--- subst.c 2014-09-12 15:31:04.000000000 -0400
+***************
+*** 8048,8052 ****
+ goto return0;
+ }
+! else if (var = find_variable_last_nameref (temp1))
+ {
+ temp = nameref_cell (var);
+--- 8118,8124 ----
+ goto return0;
+ }
+! else if (var && (invisible_p (var) || var_isset (var) == 0))
+! temp = (char *)NULL;
+! else if ((var = find_variable_last_nameref (temp1)) && var_isset (var) && invisible_p (var) == 0)
+ {
+ temp = nameref_cell (var);
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 24
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 25
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-026 b/source/a/bash/bash-4.3-patches/bash43-026
new file mode 100644
index 000000000..d5d5b1dd0
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-026
@@ -0,0 +1,60 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-026
+
+Bug-Reported-by: Tavis Ormandy <taviso@cmpxchg8b.com>
+Bug-Reference-ID:
+Bug-Reference-URL: http://twitter.com/taviso/statuses/514887394294652929
+
+Bug-Description:
+
+Under certain circumstances, bash can incorrectly save a lookahead character and
+return it on a subsequent call, even when reading a new line.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3.25/parse.y 2014-07-30 10:14:31.000000000 -0400
+--- parse.y 2014-09-25 20:20:21.000000000 -0400
+***************
+*** 2954,2957 ****
+--- 2954,2959 ----
+ word_desc_to_read = (WORD_DESC *)NULL;
+
++ eol_ungetc_lookahead = 0;
++
+ current_token = '\n'; /* XXX */
+ last_read_token = '\n';
+*** ../bash-4.3.25/y.tab.c 2014-07-30 10:14:32.000000000 -0400
+--- y.tab.c 2014-09-25 20:21:48.000000000 -0400
+***************
+*** 5266,5269 ****
+--- 5266,5271 ----
+ word_desc_to_read = (WORD_DESC *)NULL;
+
++ eol_ungetc_lookahead = 0;
++
+ current_token = '\n'; /* XXX */
+ last_read_token = '\n';
+***************
+*** 8540,8542 ****
+ }
+ #endif /* HANDLE_MULTIBYTE */
+-
+--- 8542,8543 ----
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 25
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 26
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-027 b/source/a/bash/bash-4.3-patches/bash43-027
new file mode 100644
index 000000000..ef48bd82d
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-027
@@ -0,0 +1,221 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-027
+
+Bug-Reported-by: Florian Weimer <fweimer@redhat.com>
+Bug-Reference-ID:
+Bug-Reference-URL:
+
+Bug-Description:
+
+This patch changes the encoding bash uses for exported functions to avoid
+clashes with shell variables and to avoid depending only on an environment
+variable's contents to determine whether or not to interpret it as a shell
+function.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3.26/variables.c 2014-09-25 23:02:18.000000000 -0400
+--- variables.c 2014-09-27 20:52:04.000000000 -0400
+***************
+*** 84,87 ****
+--- 84,92 ----
+ #define ifsname(s) ((s)[0] == 'I' && (s)[1] == 'F' && (s)[2] == 'S' && (s)[3] == '\0')
+
++ #define BASHFUNC_PREFIX "BASH_FUNC_"
++ #define BASHFUNC_PREFLEN 10 /* == strlen(BASHFUNC_PREFIX */
++ #define BASHFUNC_SUFFIX "%%"
++ #define BASHFUNC_SUFFLEN 2 /* == strlen(BASHFUNC_SUFFIX) */
++
+ extern char **environ;
+
+***************
+*** 280,284 ****
+ static void dispose_temporary_env __P((sh_free_func_t *));
+
+! static inline char *mk_env_string __P((const char *, const char *));
+ static char **make_env_array_from_var_list __P((SHELL_VAR **));
+ static char **make_var_export_array __P((VAR_CONTEXT *));
+--- 285,289 ----
+ static void dispose_temporary_env __P((sh_free_func_t *));
+
+! static inline char *mk_env_string __P((const char *, const char *, int));
+ static char **make_env_array_from_var_list __P((SHELL_VAR **));
+ static char **make_var_export_array __P((VAR_CONTEXT *));
+***************
+*** 350,369 ****
+ /* If exported function, define it now. Don't import functions from
+ the environment in privileged mode. */
+! if (privmode == 0 && read_but_dont_execute == 0 && STREQN ("() {", string, 4))
+ {
+ string_length = strlen (string);
+! temp_string = (char *)xmalloc (3 + string_length + char_index);
+
+! strcpy (temp_string, name);
+! temp_string[char_index] = ' ';
+! strcpy (temp_string + char_index + 1, string);
+
+ /* Don't import function names that are invalid identifiers from the
+ environment, though we still allow them to be defined as shell
+ variables. */
+! if (legal_identifier (name))
+! parse_and_execute (temp_string, name, SEVAL_NONINT|SEVAL_NOHIST|SEVAL_FUNCDEF|SEVAL_ONECMD);
+
+! if (temp_var = find_function (name))
+ {
+ VSETATTR (temp_var, (att_exported|att_imported));
+--- 355,385 ----
+ /* If exported function, define it now. Don't import functions from
+ the environment in privileged mode. */
+! if (privmode == 0 && read_but_dont_execute == 0 &&
+! STREQN (BASHFUNC_PREFIX, name, BASHFUNC_PREFLEN) &&
+! STREQ (BASHFUNC_SUFFIX, name + char_index - BASHFUNC_SUFFLEN) &&
+! STREQN ("() {", string, 4))
+ {
++ size_t namelen;
++ char *tname; /* desired imported function name */
++
++ namelen = char_index - BASHFUNC_PREFLEN - BASHFUNC_SUFFLEN;
++
++ tname = name + BASHFUNC_PREFLEN; /* start of func name */
++ tname[namelen] = '\0'; /* now tname == func name */
++
+ string_length = strlen (string);
+! temp_string = (char *)xmalloc (namelen + string_length + 2);
+
+! memcpy (temp_string, tname, namelen);
+! temp_string[namelen] = ' ';
+! memcpy (temp_string + namelen + 1, string, string_length + 1);
+
+ /* Don't import function names that are invalid identifiers from the
+ environment, though we still allow them to be defined as shell
+ variables. */
+! if (absolute_program (tname) == 0 && (posixly_correct == 0 || legal_identifier (tname)))
+! parse_and_execute (temp_string, tname, SEVAL_NONINT|SEVAL_NOHIST|SEVAL_FUNCDEF|SEVAL_ONECMD);
+
+! if (temp_var = find_function (tname))
+ {
+ VSETATTR (temp_var, (att_exported|att_imported));
+***************
+*** 378,383 ****
+ }
+ last_command_exit_value = 1;
+! report_error (_("error importing function definition for `%s'"), name);
+ }
+ }
+ #if defined (ARRAY_VARS)
+--- 394,402 ----
+ }
+ last_command_exit_value = 1;
+! report_error (_("error importing function definition for `%s'"), tname);
+ }
++
++ /* Restore original suffix */
++ tname[namelen] = BASHFUNC_SUFFIX[0];
+ }
+ #if defined (ARRAY_VARS)
+***************
+*** 2955,2959 ****
+
+ INVALIDATE_EXPORTSTR (var);
+! var->exportstr = mk_env_string (name, value);
+
+ array_needs_making = 1;
+--- 2974,2978 ----
+
+ INVALIDATE_EXPORTSTR (var);
+! var->exportstr = mk_env_string (name, value, 0);
+
+ array_needs_making = 1;
+***************
+*** 3853,3871 ****
+
+ static inline char *
+! mk_env_string (name, value)
+ const char *name, *value;
+ {
+! int name_len, value_len;
+! char *p;
+
+ name_len = strlen (name);
+ value_len = STRLEN (value);
+! p = (char *)xmalloc (2 + name_len + value_len);
+! strcpy (p, name);
+! p[name_len] = '=';
+ if (value && *value)
+! strcpy (p + name_len + 1, value);
+ else
+! p[name_len + 1] = '\0';
+ return (p);
+ }
+--- 3872,3911 ----
+
+ static inline char *
+! mk_env_string (name, value, isfunc)
+ const char *name, *value;
++ int isfunc;
+ {
+! size_t name_len, value_len;
+! char *p, *q;
+
+ name_len = strlen (name);
+ value_len = STRLEN (value);
+!
+! /* If we are exporting a shell function, construct the encoded function
+! name. */
+! if (isfunc && value)
+! {
+! p = (char *)xmalloc (BASHFUNC_PREFLEN + name_len + BASHFUNC_SUFFLEN + value_len + 2);
+! q = p;
+! memcpy (q, BASHFUNC_PREFIX, BASHFUNC_PREFLEN);
+! q += BASHFUNC_PREFLEN;
+! memcpy (q, name, name_len);
+! q += name_len;
+! memcpy (q, BASHFUNC_SUFFIX, BASHFUNC_SUFFLEN);
+! q += BASHFUNC_SUFFLEN;
+! }
+! else
+! {
+! p = (char *)xmalloc (2 + name_len + value_len);
+! memcpy (p, name, name_len);
+! q = p + name_len;
+! }
+!
+! q[0] = '=';
+ if (value && *value)
+! memcpy (q + 1, value, value_len + 1);
+ else
+! q[1] = '\0';
+!
+ return (p);
+ }
+***************
+*** 3953,3957 ****
+ using the cached exportstr... */
+ list[list_index] = USE_EXPORTSTR ? savestring (value)
+! : mk_env_string (var->name, value);
+
+ if (USE_EXPORTSTR == 0)
+--- 3993,3997 ----
+ using the cached exportstr... */
+ list[list_index] = USE_EXPORTSTR ? savestring (value)
+! : mk_env_string (var->name, value, function_p (var));
+
+ if (USE_EXPORTSTR == 0)
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 26
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 27
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-028 b/source/a/bash/bash-4.3-patches/bash43-028
new file mode 100644
index 000000000..7448cf814
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-028
@@ -0,0 +1,2265 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-028
+
+Bug-Reported-by: Florian Weimer <fweimer@redhat.com>
+Bug-Reference-ID:
+Bug-Reference-URL:
+
+Bug-Description:
+
+There are two local buffer overflows in parse.y that can cause the shell
+to dump core when given many here-documents attached to a single command
+or many nested loops.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/parse.y 2014-09-25 23:02:35.000000000 -0400
+--- parse.y 2014-09-29 16:47:03.000000000 -0400
+***************
+*** 169,172 ****
+--- 169,175 ----
+ static int reserved_word_acceptable __P((int));
+ static int yylex __P((void));
++
++ static void push_heredoc __P((REDIRECT *));
++ static char *mk_alexpansion __P((char *));
+ static int alias_expand_token __P((char *));
+ static int time_command_acceptable __P((void));
+***************
+*** 266,270 ****
+ /* Variables to manage the task of reading here documents, because we need to
+ defer the reading until after a complete command has been collected. */
+! static REDIRECT *redir_stack[10];
+ int need_here_doc;
+
+--- 269,275 ----
+ /* Variables to manage the task of reading here documents, because we need to
+ defer the reading until after a complete command has been collected. */
+! #define HEREDOC_MAX 16
+!
+! static REDIRECT *redir_stack[HEREDOC_MAX];
+ int need_here_doc;
+
+***************
+*** 308,312 ****
+ index is decremented after a case, select, or for command is parsed. */
+ #define MAX_CASE_NEST 128
+! static int word_lineno[MAX_CASE_NEST];
+ static int word_top = -1;
+
+--- 313,317 ----
+ index is decremented after a case, select, or for command is parsed. */
+ #define MAX_CASE_NEST 128
+! static int word_lineno[MAX_CASE_NEST+1];
+ static int word_top = -1;
+
+***************
+*** 521,525 ****
+ redir.filename = $2;
+ $$ = make_redirection (source, r_reading_until, redir, 0);
+! redir_stack[need_here_doc++] = $$;
+ }
+ | NUMBER LESS_LESS WORD
+--- 526,530 ----
+ redir.filename = $2;
+ $$ = make_redirection (source, r_reading_until, redir, 0);
+! push_heredoc ($$);
+ }
+ | NUMBER LESS_LESS WORD
+***************
+*** 528,532 ****
+ redir.filename = $3;
+ $$ = make_redirection (source, r_reading_until, redir, 0);
+! redir_stack[need_here_doc++] = $$;
+ }
+ | REDIR_WORD LESS_LESS WORD
+--- 533,537 ----
+ redir.filename = $3;
+ $$ = make_redirection (source, r_reading_until, redir, 0);
+! push_heredoc ($$);
+ }
+ | REDIR_WORD LESS_LESS WORD
+***************
+*** 535,539 ****
+ redir.filename = $3;
+ $$ = make_redirection (source, r_reading_until, redir, REDIR_VARASSIGN);
+! redir_stack[need_here_doc++] = $$;
+ }
+ | LESS_LESS_MINUS WORD
+--- 540,544 ----
+ redir.filename = $3;
+ $$ = make_redirection (source, r_reading_until, redir, REDIR_VARASSIGN);
+! push_heredoc ($$);
+ }
+ | LESS_LESS_MINUS WORD
+***************
+*** 542,546 ****
+ redir.filename = $2;
+ $$ = make_redirection (source, r_deblank_reading_until, redir, 0);
+! redir_stack[need_here_doc++] = $$;
+ }
+ | NUMBER LESS_LESS_MINUS WORD
+--- 547,551 ----
+ redir.filename = $2;
+ $$ = make_redirection (source, r_deblank_reading_until, redir, 0);
+! push_heredoc ($$);
+ }
+ | NUMBER LESS_LESS_MINUS WORD
+***************
+*** 549,553 ****
+ redir.filename = $3;
+ $$ = make_redirection (source, r_deblank_reading_until, redir, 0);
+! redir_stack[need_here_doc++] = $$;
+ }
+ | REDIR_WORD LESS_LESS_MINUS WORD
+--- 554,558 ----
+ redir.filename = $3;
+ $$ = make_redirection (source, r_deblank_reading_until, redir, 0);
+! push_heredoc ($$);
+ }
+ | REDIR_WORD LESS_LESS_MINUS WORD
+***************
+*** 556,560 ****
+ redir.filename = $3;
+ $$ = make_redirection (source, r_deblank_reading_until, redir, REDIR_VARASSIGN);
+! redir_stack[need_here_doc++] = $$;
+ }
+ | LESS_LESS_LESS WORD
+--- 561,565 ----
+ redir.filename = $3;
+ $$ = make_redirection (source, r_deblank_reading_until, redir, REDIR_VARASSIGN);
+! push_heredoc ($$);
+ }
+ | LESS_LESS_LESS WORD
+***************
+*** 2637,2640 ****
+--- 2642,2660 ----
+ static int esacs_needed_count;
+
++ static void
++ push_heredoc (r)
++ REDIRECT *r;
++ {
++ if (need_here_doc >= HEREDOC_MAX)
++ {
++ last_command_exit_value = EX_BADUSAGE;
++ need_here_doc = 0;
++ report_syntax_error (_("maximum here-document count exceeded"));
++ reset_parser ();
++ exit_shell (last_command_exit_value);
++ }
++ redir_stack[need_here_doc++] = r;
++ }
++
+ void
+ gather_here_documents ()
+*** ../bash-4.3.27/y.tab.c 2014-10-01 11:38:24.000000000 -0400
+--- y.tab.c 2014-10-01 12:46:11.000000000 -0400
+***************
+*** 169,173 ****
+
+ /* Copy the first part of user declarations. */
+! #line 21 "/usr/homes/chet/src/bash/src/parse.y"
+
+ #include "config.h"
+--- 169,173 ----
+
+ /* Copy the first part of user declarations. */
+! #line 21 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+
+ #include "config.h"
+***************
+*** 320,323 ****
+--- 320,326 ----
+ static int reserved_word_acceptable __P((int));
+ static int yylex __P((void));
++
++ static void push_heredoc __P((REDIRECT *));
++ static char *mk_alexpansion __P((char *));
+ static int alias_expand_token __P((char *));
+ static int time_command_acceptable __P((void));
+***************
+*** 417,421 ****
+ /* Variables to manage the task of reading here documents, because we need to
+ defer the reading until after a complete command has been collected. */
+! static REDIRECT *redir_stack[10];
+ int need_here_doc;
+
+--- 420,426 ----
+ /* Variables to manage the task of reading here documents, because we need to
+ defer the reading until after a complete command has been collected. */
+! #define HEREDOC_MAX 16
+!
+! static REDIRECT *redir_stack[HEREDOC_MAX];
+ int need_here_doc;
+
+***************
+*** 459,463 ****
+ index is decremented after a case, select, or for command is parsed. */
+ #define MAX_CASE_NEST 128
+! static int word_lineno[MAX_CASE_NEST];
+ static int word_top = -1;
+
+--- 464,468 ----
+ index is decremented after a case, select, or for command is parsed. */
+ #define MAX_CASE_NEST 128
+! static int word_lineno[MAX_CASE_NEST+1];
+ static int word_top = -1;
+
+***************
+*** 493,497 ****
+ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+ typedef union YYSTYPE
+! #line 324 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ WORD_DESC *word; /* the word that we read. */
+--- 498,502 ----
+ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+ typedef union YYSTYPE
+! #line 329 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ WORD_DESC *word; /* the word that we read. */
+***************
+*** 504,508 ****
+ }
+ /* Line 193 of yacc.c. */
+! #line 507 "y.tab.c"
+ YYSTYPE;
+ # define yystype YYSTYPE /* obsolescent; will be withdrawn */
+--- 509,513 ----
+ }
+ /* Line 193 of yacc.c. */
+! #line 512 "y.tab.c"
+ YYSTYPE;
+ # define yystype YYSTYPE /* obsolescent; will be withdrawn */
+***************
+*** 517,521 ****
+
+ /* Line 216 of yacc.c. */
+! #line 520 "y.tab.c"
+
+ #ifdef short
+--- 522,526 ----
+
+ /* Line 216 of yacc.c. */
+! #line 525 "y.tab.c"
+
+ #ifdef short
+***************
+*** 887,907 ****
+ static const yytype_uint16 yyrline[] =
+ {
+! 0, 377, 377, 388, 397, 412, 422, 424, 428, 434,
+! 440, 446, 452, 458, 464, 470, 476, 482, 488, 494,
+! 500, 506, 512, 518, 525, 532, 539, 546, 553, 560,
+! 566, 572, 578, 584, 590, 596, 602, 608, 614, 620,
+! 626, 632, 638, 644, 650, 656, 662, 668, 674, 680,
+! 686, 692, 700, 702, 704, 708, 712, 723, 725, 729,
+! 731, 733, 749, 751, 755, 757, 759, 761, 763, 765,
+! 767, 769, 771, 773, 775, 779, 784, 789, 794, 799,
+! 804, 809, 814, 821, 826, 831, 836, 843, 848, 853,
+! 858, 863, 868, 875, 880, 885, 892, 895, 898, 902,
+! 904, 935, 942, 947, 964, 969, 986, 993, 995, 997,
+! 1002, 1006, 1010, 1014, 1016, 1018, 1022, 1023, 1027, 1029,
+! 1031, 1033, 1037, 1039, 1041, 1043, 1045, 1047, 1051, 1053,
+! 1062, 1070, 1071, 1077, 1078, 1085, 1089, 1091, 1093, 1100,
+! 1102, 1104, 1108, 1109, 1112, 1114, 1116, 1120, 1121, 1130,
+! 1143, 1159, 1174, 1176, 1178, 1185, 1188, 1192, 1194, 1200,
+! 1206, 1223, 1243, 1245, 1268, 1272, 1274, 1276
+ };
+ #endif
+--- 892,912 ----
+ static const yytype_uint16 yyrline[] =
+ {
+! 0, 382, 382, 393, 402, 417, 427, 429, 433, 439,
+! 445, 451, 457, 463, 469, 475, 481, 487, 493, 499,
+! 505, 511, 517, 523, 530, 537, 544, 551, 558, 565,
+! 571, 577, 583, 589, 595, 601, 607, 613, 619, 625,
+! 631, 637, 643, 649, 655, 661, 667, 673, 679, 685,
+! 691, 697, 705, 707, 709, 713, 717, 728, 730, 734,
+! 736, 738, 754, 756, 760, 762, 764, 766, 768, 770,
+! 772, 774, 776, 778, 780, 784, 789, 794, 799, 804,
+! 809, 814, 819, 826, 831, 836, 841, 848, 853, 858,
+! 863, 868, 873, 880, 885, 890, 897, 900, 903, 907,
+! 909, 940, 947, 952, 969, 974, 991, 998, 1000, 1002,
+! 1007, 1011, 1015, 1019, 1021, 1023, 1027, 1028, 1032, 1034,
+! 1036, 1038, 1042, 1044, 1046, 1048, 1050, 1052, 1056, 1058,
+! 1067, 1075, 1076, 1082, 1083, 1090, 1094, 1096, 1098, 1105,
+! 1107, 1109, 1113, 1114, 1117, 1119, 1121, 1125, 1126, 1135,
+! 1148, 1164, 1179, 1181, 1183, 1190, 1193, 1197, 1199, 1205,
+! 1211, 1228, 1248, 1250, 1273, 1277, 1279, 1281
+ };
+ #endif
+***************
+*** 2094,2098 ****
+ {
+ case 2:
+! #line 378 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ /* Case of regular command. Discard the error
+--- 2099,2103 ----
+ {
+ case 2:
+! #line 383 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ /* Case of regular command. Discard the error
+***************
+*** 2108,2112 ****
+
+ case 3:
+! #line 389 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ /* Case of regular command, but not a very
+--- 2113,2117 ----
+
+ case 3:
+! #line 394 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ /* Case of regular command, but not a very
+***************
+*** 2120,2124 ****
+
+ case 4:
+! #line 398 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ /* Error during parsing. Return NULL command. */
+--- 2125,2129 ----
+
+ case 4:
+! #line 403 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ /* Error during parsing. Return NULL command. */
+***************
+*** 2138,2142 ****
+
+ case 5:
+! #line 413 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ /* Case of EOF seen by itself. Do ignoreeof or
+--- 2143,2147 ----
+
+ case 5:
+! #line 418 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ /* Case of EOF seen by itself. Do ignoreeof or
+***************
+*** 2149,2163 ****
+
+ case 6:
+! #line 423 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.word_list) = make_word_list ((yyvsp[(1) - (1)].word), (WORD_LIST *)NULL); }
+ break;
+
+ case 7:
+! #line 425 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.word_list) = make_word_list ((yyvsp[(2) - (2)].word), (yyvsp[(1) - (2)].word_list)); }
+ break;
+
+ case 8:
+! #line 429 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = 1;
+--- 2154,2168 ----
+
+ case 6:
+! #line 428 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.word_list) = make_word_list ((yyvsp[(1) - (1)].word), (WORD_LIST *)NULL); }
+ break;
+
+ case 7:
+! #line 430 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.word_list) = make_word_list ((yyvsp[(2) - (2)].word), (yyvsp[(1) - (2)].word_list)); }
+ break;
+
+ case 8:
+! #line 434 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 1;
+***************
+*** 2168,2172 ****
+
+ case 9:
+! #line 435 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = 0;
+--- 2173,2177 ----
+
+ case 9:
+! #line 440 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 0;
+***************
+*** 2177,2181 ****
+
+ case 10:
+! #line 441 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2182,2186 ----
+
+ case 10:
+! #line 446 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2186,2190 ****
+
+ case 11:
+! #line 447 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2191,2195 ----
+
+ case 11:
+! #line 452 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2195,2199 ****
+
+ case 12:
+! #line 453 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2200,2204 ----
+
+ case 12:
+! #line 458 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2204,2208 ****
+
+ case 13:
+! #line 459 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2209,2213 ----
+
+ case 13:
+! #line 464 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2213,2217 ****
+
+ case 14:
+! #line 465 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = 1;
+--- 2218,2222 ----
+
+ case 14:
+! #line 470 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 1;
+***************
+*** 2222,2226 ****
+
+ case 15:
+! #line 471 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2227,2231 ----
+
+ case 15:
+! #line 476 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2231,2235 ****
+
+ case 16:
+! #line 477 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2236,2240 ----
+
+ case 16:
+! #line 482 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2240,2244 ****
+
+ case 17:
+! #line 483 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = 1;
+--- 2245,2249 ----
+
+ case 17:
+! #line 488 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 1;
+***************
+*** 2249,2253 ****
+
+ case 18:
+! #line 489 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2254,2258 ----
+
+ case 18:
+! #line 494 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2258,2262 ****
+
+ case 19:
+! #line 495 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2263,2267 ----
+
+ case 19:
+! #line 500 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2267,2271 ****
+
+ case 20:
+! #line 501 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = 0;
+--- 2272,2276 ----
+
+ case 20:
+! #line 506 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 0;
+***************
+*** 2276,2280 ****
+
+ case 21:
+! #line 507 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2281,2285 ----
+
+ case 21:
+! #line 512 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2285,2289 ****
+
+ case 22:
+! #line 513 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2290,2294 ----
+
+ case 22:
+! #line 518 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2294,2358 ****
+
+ case 23:
+! #line 519 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = 0;
+ redir.filename = (yyvsp[(2) - (2)].word);
+ (yyval.redirect) = make_redirection (source, r_reading_until, redir, 0);
+! redir_stack[need_here_doc++] = (yyval.redirect);
+ }
+ break;
+
+ case 24:
+! #line 526 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+ redir.filename = (yyvsp[(3) - (3)].word);
+ (yyval.redirect) = make_redirection (source, r_reading_until, redir, 0);
+! redir_stack[need_here_doc++] = (yyval.redirect);
+ }
+ break;
+
+ case 25:
+! #line 533 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+ redir.filename = (yyvsp[(3) - (3)].word);
+ (yyval.redirect) = make_redirection (source, r_reading_until, redir, REDIR_VARASSIGN);
+! redir_stack[need_here_doc++] = (yyval.redirect);
+ }
+ break;
+
+ case 26:
+! #line 540 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = 0;
+ redir.filename = (yyvsp[(2) - (2)].word);
+ (yyval.redirect) = make_redirection (source, r_deblank_reading_until, redir, 0);
+! redir_stack[need_here_doc++] = (yyval.redirect);
+ }
+ break;
+
+ case 27:
+! #line 547 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+ redir.filename = (yyvsp[(3) - (3)].word);
+ (yyval.redirect) = make_redirection (source, r_deblank_reading_until, redir, 0);
+! redir_stack[need_here_doc++] = (yyval.redirect);
+ }
+ break;
+
+ case 28:
+! #line 554 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+ redir.filename = (yyvsp[(3) - (3)].word);
+ (yyval.redirect) = make_redirection (source, r_deblank_reading_until, redir, REDIR_VARASSIGN);
+! redir_stack[need_here_doc++] = (yyval.redirect);
+ }
+ break;
+
+ case 29:
+! #line 561 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = 0;
+--- 2299,2363 ----
+
+ case 23:
+! #line 524 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 0;
+ redir.filename = (yyvsp[(2) - (2)].word);
+ (yyval.redirect) = make_redirection (source, r_reading_until, redir, 0);
+! push_heredoc ((yyval.redirect));
+ }
+ break;
+
+ case 24:
+! #line 531 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+ redir.filename = (yyvsp[(3) - (3)].word);
+ (yyval.redirect) = make_redirection (source, r_reading_until, redir, 0);
+! push_heredoc ((yyval.redirect));
+ }
+ break;
+
+ case 25:
+! #line 538 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+ redir.filename = (yyvsp[(3) - (3)].word);
+ (yyval.redirect) = make_redirection (source, r_reading_until, redir, REDIR_VARASSIGN);
+! push_heredoc ((yyval.redirect));
+ }
+ break;
+
+ case 26:
+! #line 545 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 0;
+ redir.filename = (yyvsp[(2) - (2)].word);
+ (yyval.redirect) = make_redirection (source, r_deblank_reading_until, redir, 0);
+! push_heredoc ((yyval.redirect));
+ }
+ break;
+
+ case 27:
+! #line 552 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+ redir.filename = (yyvsp[(3) - (3)].word);
+ (yyval.redirect) = make_redirection (source, r_deblank_reading_until, redir, 0);
+! push_heredoc ((yyval.redirect));
+ }
+ break;
+
+ case 28:
+! #line 559 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+ redir.filename = (yyvsp[(3) - (3)].word);
+ (yyval.redirect) = make_redirection (source, r_deblank_reading_until, redir, REDIR_VARASSIGN);
+! push_heredoc ((yyval.redirect));
+ }
+ break;
+
+ case 29:
+! #line 566 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 0;
+***************
+*** 2363,2367 ****
+
+ case 30:
+! #line 567 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2368,2372 ----
+
+ case 30:
+! #line 572 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2372,2376 ****
+
+ case 31:
+! #line 573 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2377,2381 ----
+
+ case 31:
+! #line 578 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2381,2385 ****
+
+ case 32:
+! #line 579 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = 0;
+--- 2386,2390 ----
+
+ case 32:
+! #line 584 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 0;
+***************
+*** 2390,2394 ****
+
+ case 33:
+! #line 585 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2395,2399 ----
+
+ case 33:
+! #line 590 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2399,2403 ****
+
+ case 34:
+! #line 591 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2404,2408 ----
+
+ case 34:
+! #line 596 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2408,2412 ****
+
+ case 35:
+! #line 597 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = 1;
+--- 2413,2417 ----
+
+ case 35:
+! #line 602 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 1;
+***************
+*** 2417,2421 ****
+
+ case 36:
+! #line 603 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2422,2426 ----
+
+ case 36:
+! #line 608 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2426,2430 ****
+
+ case 37:
+! #line 609 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2431,2435 ----
+
+ case 37:
+! #line 614 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2435,2439 ****
+
+ case 38:
+! #line 615 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = 0;
+--- 2440,2444 ----
+
+ case 38:
+! #line 620 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 0;
+***************
+*** 2444,2448 ****
+
+ case 39:
+! #line 621 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2449,2453 ----
+
+ case 39:
+! #line 626 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2453,2457 ****
+
+ case 40:
+! #line 627 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2458,2462 ----
+
+ case 40:
+! #line 632 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2462,2466 ****
+
+ case 41:
+! #line 633 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = 1;
+--- 2467,2471 ----
+
+ case 41:
+! #line 638 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 1;
+***************
+*** 2471,2475 ****
+
+ case 42:
+! #line 639 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2476,2480 ----
+
+ case 42:
+! #line 644 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2480,2484 ****
+
+ case 43:
+! #line 645 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2485,2489 ----
+
+ case 43:
+! #line 650 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2489,2493 ****
+
+ case 44:
+! #line 651 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = 1;
+--- 2494,2498 ----
+
+ case 44:
+! #line 656 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 1;
+***************
+*** 2498,2502 ****
+
+ case 45:
+! #line 657 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2503,2507 ----
+
+ case 45:
+! #line 662 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2507,2511 ****
+
+ case 46:
+! #line 663 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2512,2516 ----
+
+ case 46:
+! #line 668 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2516,2520 ****
+
+ case 47:
+! #line 669 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = 0;
+--- 2521,2525 ----
+
+ case 47:
+! #line 674 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 0;
+***************
+*** 2525,2529 ****
+
+ case 48:
+! #line 675 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2530,2534 ----
+
+ case 48:
+! #line 680 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2534,2538 ****
+
+ case 49:
+! #line 681 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2539,2543 ----
+
+ case 49:
+! #line 686 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2543,2547 ****
+
+ case 50:
+! #line 687 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = 1;
+--- 2548,2552 ----
+
+ case 50:
+! #line 692 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 1;
+***************
+*** 2552,2556 ****
+
+ case 51:
+! #line 693 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ source.dest = 1;
+--- 2557,2561 ----
+
+ case 51:
+! #line 698 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 1;
+***************
+*** 2561,2580 ****
+
+ case 52:
+! #line 701 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.element).word = (yyvsp[(1) - (1)].word); (yyval.element).redirect = 0; }
+ break;
+
+ case 53:
+! #line 703 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.element).word = (yyvsp[(1) - (1)].word); (yyval.element).redirect = 0; }
+ break;
+
+ case 54:
+! #line 705 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.element).redirect = (yyvsp[(1) - (1)].redirect); (yyval.element).word = 0; }
+ break;
+
+ case 55:
+! #line 709 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.redirect) = (yyvsp[(1) - (1)].redirect);
+--- 2566,2585 ----
+
+ case 52:
+! #line 706 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.element).word = (yyvsp[(1) - (1)].word); (yyval.element).redirect = 0; }
+ break;
+
+ case 53:
+! #line 708 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.element).word = (yyvsp[(1) - (1)].word); (yyval.element).redirect = 0; }
+ break;
+
+ case 54:
+! #line 710 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.element).redirect = (yyvsp[(1) - (1)].redirect); (yyval.element).word = 0; }
+ break;
+
+ case 55:
+! #line 714 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.redirect) = (yyvsp[(1) - (1)].redirect);
+***************
+*** 2583,2587 ****
+
+ case 56:
+! #line 713 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ register REDIRECT *t;
+--- 2588,2592 ----
+
+ case 56:
+! #line 718 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ register REDIRECT *t;
+***************
+*** 2595,2619 ****
+
+ case 57:
+! #line 724 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = make_simple_command ((yyvsp[(1) - (1)].element), (COMMAND *)NULL); }
+ break;
+
+ case 58:
+! #line 726 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = make_simple_command ((yyvsp[(2) - (2)].element), (yyvsp[(1) - (2)].command)); }
+ break;
+
+ case 59:
+! #line 730 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = clean_simple_command ((yyvsp[(1) - (1)].command)); }
+ break;
+
+ case 60:
+! #line 732 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 61:
+! #line 734 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ COMMAND *tc;
+--- 2600,2624 ----
+
+ case 57:
+! #line 729 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_simple_command ((yyvsp[(1) - (1)].element), (COMMAND *)NULL); }
+ break;
+
+ case 58:
+! #line 731 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_simple_command ((yyvsp[(2) - (2)].element), (yyvsp[(1) - (2)].command)); }
+ break;
+
+ case 59:
+! #line 735 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = clean_simple_command ((yyvsp[(1) - (1)].command)); }
+ break;
+
+ case 60:
+! #line 737 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 61:
+! #line 739 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ COMMAND *tc;
+***************
+*** 2634,2703 ****
+
+ case 62:
+! #line 750 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 63:
+! #line 752 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 64:
+! #line 756 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 65:
+! #line 758 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 66:
+! #line 760 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = make_while_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command)); }
+ break;
+
+ case 67:
+! #line 762 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = make_until_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command)); }
+ break;
+
+ case 68:
+! #line 764 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 69:
+! #line 766 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 70:
+! #line 768 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 71:
+! #line 770 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 72:
+! #line 772 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 73:
+! #line 774 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 74:
+! #line 776 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 75:
+! #line 780 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
+--- 2639,2708 ----
+
+ case 62:
+! #line 755 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 63:
+! #line 757 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 64:
+! #line 761 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 65:
+! #line 763 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 66:
+! #line 765 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_while_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command)); }
+ break;
+
+ case 67:
+! #line 767 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_until_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command)); }
+ break;
+
+ case 68:
+! #line 769 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 69:
+! #line 771 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 70:
+! #line 773 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 71:
+! #line 775 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 72:
+! #line 777 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 73:
+! #line 779 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 74:
+! #line 781 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 75:
+! #line 785 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
+***************
+*** 2707,2711 ****
+
+ case 76:
+! #line 785 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
+--- 2712,2716 ----
+
+ case 76:
+! #line 790 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
+***************
+*** 2715,2719 ****
+
+ case 77:
+! #line 790 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
+--- 2720,2724 ----
+
+ case 77:
+! #line 795 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
+***************
+*** 2723,2727 ****
+
+ case 78:
+! #line 795 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
+--- 2728,2732 ----
+
+ case 78:
+! #line 800 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
+***************
+*** 2731,2735 ****
+
+ case 79:
+! #line 800 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
+--- 2736,2740 ----
+
+ case 79:
+! #line 805 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
+***************
+*** 2739,2743 ****
+
+ case 80:
+! #line 805 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
+--- 2744,2748 ----
+
+ case 80:
+! #line 810 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
+***************
+*** 2747,2751 ****
+
+ case 81:
+! #line 810 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (9)].word), (WORD_LIST *)NULL, (yyvsp[(8) - (9)].command), word_lineno[word_top]);
+--- 2752,2756 ----
+
+ case 81:
+! #line 815 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (9)].word), (WORD_LIST *)NULL, (yyvsp[(8) - (9)].command), word_lineno[word_top]);
+***************
+*** 2755,2759 ****
+
+ case 82:
+! #line 815 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (9)].word), (WORD_LIST *)NULL, (yyvsp[(8) - (9)].command), word_lineno[word_top]);
+--- 2760,2764 ----
+
+ case 82:
+! #line 820 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (9)].word), (WORD_LIST *)NULL, (yyvsp[(8) - (9)].command), word_lineno[word_top]);
+***************
+*** 2763,2767 ****
+
+ case 83:
+! #line 822 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_arith_for_command ((yyvsp[(2) - (7)].word_list), (yyvsp[(6) - (7)].command), arith_for_lineno);
+--- 2768,2772 ----
+
+ case 83:
+! #line 827 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_arith_for_command ((yyvsp[(2) - (7)].word_list), (yyvsp[(6) - (7)].command), arith_for_lineno);
+***************
+*** 2771,2775 ****
+
+ case 84:
+! #line 827 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_arith_for_command ((yyvsp[(2) - (7)].word_list), (yyvsp[(6) - (7)].command), arith_for_lineno);
+--- 2776,2780 ----
+
+ case 84:
+! #line 832 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_arith_for_command ((yyvsp[(2) - (7)].word_list), (yyvsp[(6) - (7)].command), arith_for_lineno);
+***************
+*** 2779,2783 ****
+
+ case 85:
+! #line 832 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_arith_for_command ((yyvsp[(2) - (5)].word_list), (yyvsp[(4) - (5)].command), arith_for_lineno);
+--- 2784,2788 ----
+
+ case 85:
+! #line 837 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_arith_for_command ((yyvsp[(2) - (5)].word_list), (yyvsp[(4) - (5)].command), arith_for_lineno);
+***************
+*** 2787,2791 ****
+
+ case 86:
+! #line 837 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_arith_for_command ((yyvsp[(2) - (5)].word_list), (yyvsp[(4) - (5)].command), arith_for_lineno);
+--- 2792,2796 ----
+
+ case 86:
+! #line 842 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_arith_for_command ((yyvsp[(2) - (5)].word_list), (yyvsp[(4) - (5)].command), arith_for_lineno);
+***************
+*** 2795,2799 ****
+
+ case 87:
+! #line 844 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
+--- 2800,2804 ----
+
+ case 87:
+! #line 849 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
+***************
+*** 2803,2807 ****
+
+ case 88:
+! #line 849 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
+--- 2808,2812 ----
+
+ case 88:
+! #line 854 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
+***************
+*** 2811,2815 ****
+
+ case 89:
+! #line 854 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
+--- 2816,2820 ----
+
+ case 89:
+! #line 859 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
+***************
+*** 2819,2823 ****
+
+ case 90:
+! #line 859 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
+--- 2824,2828 ----
+
+ case 90:
+! #line 864 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
+***************
+*** 2827,2831 ****
+
+ case 91:
+! #line 864 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
+--- 2832,2836 ----
+
+ case 91:
+! #line 869 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
+***************
+*** 2835,2839 ****
+
+ case 92:
+! #line 869 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
+--- 2840,2844 ----
+
+ case 92:
+! #line 874 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
+***************
+*** 2843,2847 ****
+
+ case 93:
+! #line 876 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_case_command ((yyvsp[(2) - (6)].word), (PATTERN_LIST *)NULL, word_lineno[word_top]);
+--- 2848,2852 ----
+
+ case 93:
+! #line 881 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_case_command ((yyvsp[(2) - (6)].word), (PATTERN_LIST *)NULL, word_lineno[word_top]);
+***************
+*** 2851,2855 ****
+
+ case 94:
+! #line 881 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_case_command ((yyvsp[(2) - (7)].word), (yyvsp[(5) - (7)].pattern), word_lineno[word_top]);
+--- 2856,2860 ----
+
+ case 94:
+! #line 886 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_case_command ((yyvsp[(2) - (7)].word), (yyvsp[(5) - (7)].pattern), word_lineno[word_top]);
+***************
+*** 2859,2863 ****
+
+ case 95:
+! #line 886 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_case_command ((yyvsp[(2) - (6)].word), (yyvsp[(5) - (6)].pattern), word_lineno[word_top]);
+--- 2864,2868 ----
+
+ case 95:
+! #line 891 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_case_command ((yyvsp[(2) - (6)].word), (yyvsp[(5) - (6)].pattern), word_lineno[word_top]);
+***************
+*** 2867,2891 ****
+
+ case 96:
+! #line 893 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = make_function_def ((yyvsp[(1) - (5)].word), (yyvsp[(5) - (5)].command), function_dstart, function_bstart); }
+ break;
+
+ case 97:
+! #line 896 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = make_function_def ((yyvsp[(2) - (6)].word), (yyvsp[(6) - (6)].command), function_dstart, function_bstart); }
+ break;
+
+ case 98:
+! #line 899 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = make_function_def ((yyvsp[(2) - (4)].word), (yyvsp[(4) - (4)].command), function_dstart, function_bstart); }
+ break;
+
+ case 99:
+! #line 903 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 100:
+! #line 905 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ COMMAND *tc;
+--- 2872,2896 ----
+
+ case 96:
+! #line 898 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_function_def ((yyvsp[(1) - (5)].word), (yyvsp[(5) - (5)].command), function_dstart, function_bstart); }
+ break;
+
+ case 97:
+! #line 901 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_function_def ((yyvsp[(2) - (6)].word), (yyvsp[(6) - (6)].command), function_dstart, function_bstart); }
+ break;
+
+ case 98:
+! #line 904 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_function_def ((yyvsp[(2) - (4)].word), (yyvsp[(4) - (4)].command), function_dstart, function_bstart); }
+ break;
+
+ case 99:
+! #line 908 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 100:
+! #line 910 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ COMMAND *tc;
+***************
+*** 2919,2923 ****
+
+ case 101:
+! #line 936 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_subshell_command ((yyvsp[(2) - (3)].command));
+--- 2924,2928 ----
+
+ case 101:
+! #line 941 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_subshell_command ((yyvsp[(2) - (3)].command));
+***************
+*** 2927,2931 ****
+
+ case 102:
+! #line 943 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_coproc_command ("COPROC", (yyvsp[(2) - (2)].command));
+--- 2932,2936 ----
+
+ case 102:
+! #line 948 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_coproc_command ("COPROC", (yyvsp[(2) - (2)].command));
+***************
+*** 2935,2939 ****
+
+ case 103:
+! #line 948 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ COMMAND *tc;
+--- 2940,2944 ----
+
+ case 103:
+! #line 953 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ COMMAND *tc;
+***************
+*** 2955,2959 ****
+
+ case 104:
+! #line 965 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_coproc_command ((yyvsp[(2) - (3)].word)->word, (yyvsp[(3) - (3)].command));
+--- 2960,2964 ----
+
+ case 104:
+! #line 970 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_coproc_command ((yyvsp[(2) - (3)].word)->word, (yyvsp[(3) - (3)].command));
+***************
+*** 2963,2967 ****
+
+ case 105:
+! #line 970 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ COMMAND *tc;
+--- 2968,2972 ----
+
+ case 105:
+! #line 975 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ COMMAND *tc;
+***************
+*** 2983,2987 ****
+
+ case 106:
+! #line 987 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = make_coproc_command ("COPROC", clean_simple_command ((yyvsp[(2) - (2)].command)));
+--- 2988,2992 ----
+
+ case 106:
+! #line 992 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_coproc_command ("COPROC", clean_simple_command ((yyvsp[(2) - (2)].command)));
+***************
+*** 2991,3105 ****
+
+ case 107:
+! #line 994 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command), (COMMAND *)NULL); }
+ break;
+
+ case 108:
+! #line 996 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (7)].command), (yyvsp[(4) - (7)].command), (yyvsp[(6) - (7)].command)); }
+ break;
+
+ case 109:
+! #line 998 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (6)].command), (yyvsp[(4) - (6)].command), (yyvsp[(5) - (6)].command)); }
+ break;
+
+ case 110:
+! #line 1003 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = make_group_command ((yyvsp[(2) - (3)].command)); }
+ break;
+
+ case 111:
+! #line 1007 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = make_arith_command ((yyvsp[(1) - (1)].word_list)); }
+ break;
+
+ case 112:
+! #line 1011 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = (yyvsp[(2) - (3)].command); }
+ break;
+
+ case 113:
+! #line 1015 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (4)].command), (yyvsp[(4) - (4)].command), (COMMAND *)NULL); }
+ break;
+
+ case 114:
+! #line 1017 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (6)].command), (yyvsp[(4) - (6)].command), (yyvsp[(6) - (6)].command)); }
+ break;
+
+ case 115:
+! #line 1019 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command), (yyvsp[(5) - (5)].command)); }
+ break;
+
+ case 117:
+! #line 1024 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyvsp[(2) - (2)].pattern)->next = (yyvsp[(1) - (2)].pattern); (yyval.pattern) = (yyvsp[(2) - (2)].pattern); }
+ break;
+
+ case 118:
+! #line 1028 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.pattern) = make_pattern_list ((yyvsp[(2) - (4)].word_list), (yyvsp[(4) - (4)].command)); }
+ break;
+
+ case 119:
+! #line 1030 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.pattern) = make_pattern_list ((yyvsp[(2) - (4)].word_list), (COMMAND *)NULL); }
+ break;
+
+ case 120:
+! #line 1032 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.pattern) = make_pattern_list ((yyvsp[(3) - (5)].word_list), (yyvsp[(5) - (5)].command)); }
+ break;
+
+ case 121:
+! #line 1034 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.pattern) = make_pattern_list ((yyvsp[(3) - (5)].word_list), (COMMAND *)NULL); }
+ break;
+
+ case 122:
+! #line 1038 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.pattern) = (yyvsp[(1) - (2)].pattern); }
+ break;
+
+ case 123:
+! #line 1040 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); }
+ break;
+
+ case 124:
+! #line 1042 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyvsp[(1) - (2)].pattern)->flags |= CASEPAT_FALLTHROUGH; (yyval.pattern) = (yyvsp[(1) - (2)].pattern); }
+ break;
+
+ case 125:
+! #line 1044 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyvsp[(2) - (3)].pattern)->flags |= CASEPAT_FALLTHROUGH; (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); }
+ break;
+
+ case 126:
+! #line 1046 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyvsp[(1) - (2)].pattern)->flags |= CASEPAT_TESTNEXT; (yyval.pattern) = (yyvsp[(1) - (2)].pattern); }
+ break;
+
+ case 127:
+! #line 1048 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyvsp[(2) - (3)].pattern)->flags |= CASEPAT_TESTNEXT; (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); }
+ break;
+
+ case 128:
+! #line 1052 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.word_list) = make_word_list ((yyvsp[(1) - (1)].word), (WORD_LIST *)NULL); }
+ break;
+
+ case 129:
+! #line 1054 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.word_list) = make_word_list ((yyvsp[(3) - (3)].word), (yyvsp[(1) - (3)].word_list)); }
+ break;
+
+ case 130:
+! #line 1063 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = (yyvsp[(2) - (2)].command);
+--- 2996,3110 ----
+
+ case 107:
+! #line 999 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command), (COMMAND *)NULL); }
+ break;
+
+ case 108:
+! #line 1001 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (7)].command), (yyvsp[(4) - (7)].command), (yyvsp[(6) - (7)].command)); }
+ break;
+
+ case 109:
+! #line 1003 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (6)].command), (yyvsp[(4) - (6)].command), (yyvsp[(5) - (6)].command)); }
+ break;
+
+ case 110:
+! #line 1008 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_group_command ((yyvsp[(2) - (3)].command)); }
+ break;
+
+ case 111:
+! #line 1012 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_arith_command ((yyvsp[(1) - (1)].word_list)); }
+ break;
+
+ case 112:
+! #line 1016 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(2) - (3)].command); }
+ break;
+
+ case 113:
+! #line 1020 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (4)].command), (yyvsp[(4) - (4)].command), (COMMAND *)NULL); }
+ break;
+
+ case 114:
+! #line 1022 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (6)].command), (yyvsp[(4) - (6)].command), (yyvsp[(6) - (6)].command)); }
+ break;
+
+ case 115:
+! #line 1024 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command), (yyvsp[(5) - (5)].command)); }
+ break;
+
+ case 117:
+! #line 1029 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyvsp[(2) - (2)].pattern)->next = (yyvsp[(1) - (2)].pattern); (yyval.pattern) = (yyvsp[(2) - (2)].pattern); }
+ break;
+
+ case 118:
+! #line 1033 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.pattern) = make_pattern_list ((yyvsp[(2) - (4)].word_list), (yyvsp[(4) - (4)].command)); }
+ break;
+
+ case 119:
+! #line 1035 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.pattern) = make_pattern_list ((yyvsp[(2) - (4)].word_list), (COMMAND *)NULL); }
+ break;
+
+ case 120:
+! #line 1037 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.pattern) = make_pattern_list ((yyvsp[(3) - (5)].word_list), (yyvsp[(5) - (5)].command)); }
+ break;
+
+ case 121:
+! #line 1039 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.pattern) = make_pattern_list ((yyvsp[(3) - (5)].word_list), (COMMAND *)NULL); }
+ break;
+
+ case 122:
+! #line 1043 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.pattern) = (yyvsp[(1) - (2)].pattern); }
+ break;
+
+ case 123:
+! #line 1045 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); }
+ break;
+
+ case 124:
+! #line 1047 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyvsp[(1) - (2)].pattern)->flags |= CASEPAT_FALLTHROUGH; (yyval.pattern) = (yyvsp[(1) - (2)].pattern); }
+ break;
+
+ case 125:
+! #line 1049 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyvsp[(2) - (3)].pattern)->flags |= CASEPAT_FALLTHROUGH; (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); }
+ break;
+
+ case 126:
+! #line 1051 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyvsp[(1) - (2)].pattern)->flags |= CASEPAT_TESTNEXT; (yyval.pattern) = (yyvsp[(1) - (2)].pattern); }
+ break;
+
+ case 127:
+! #line 1053 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyvsp[(2) - (3)].pattern)->flags |= CASEPAT_TESTNEXT; (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); }
+ break;
+
+ case 128:
+! #line 1057 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.word_list) = make_word_list ((yyvsp[(1) - (1)].word), (WORD_LIST *)NULL); }
+ break;
+
+ case 129:
+! #line 1059 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.word_list) = make_word_list ((yyvsp[(3) - (3)].word), (yyvsp[(1) - (3)].word_list)); }
+ break;
+
+ case 130:
+! #line 1068 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = (yyvsp[(2) - (2)].command);
+***************
+*** 3110,3114 ****
+
+ case 132:
+! #line 1072 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = (yyvsp[(2) - (2)].command);
+--- 3115,3119 ----
+
+ case 132:
+! #line 1077 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = (yyvsp[(2) - (2)].command);
+***************
+*** 3117,3121 ****
+
+ case 134:
+! #line 1079 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ if ((yyvsp[(1) - (3)].command)->type == cm_connection)
+--- 3122,3126 ----
+
+ case 134:
+! #line 1084 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ if ((yyvsp[(1) - (3)].command)->type == cm_connection)
+***************
+*** 3127,3141 ****
+
+ case 136:
+! #line 1090 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), AND_AND); }
+ break;
+
+ case 137:
+! #line 1092 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), OR_OR); }
+ break;
+
+ case 138:
+! #line 1094 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ if ((yyvsp[(1) - (4)].command)->type == cm_connection)
+--- 3132,3146 ----
+
+ case 136:
+! #line 1095 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), AND_AND); }
+ break;
+
+ case 137:
+! #line 1097 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), OR_OR); }
+ break;
+
+ case 138:
+! #line 1099 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ if ((yyvsp[(1) - (4)].command)->type == cm_connection)
+***************
+*** 3147,3181 ****
+
+ case 139:
+! #line 1101 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), ';'); }
+ break;
+
+ case 140:
+! #line 1103 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), ';'); }
+ break;
+
+ case 141:
+! #line 1105 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 144:
+! #line 1113 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.number) = '\n'; }
+ break;
+
+ case 145:
+! #line 1115 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.number) = ';'; }
+ break;
+
+ case 146:
+! #line 1117 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.number) = yacc_EOF; }
+ break;
+
+ case 149:
+! #line 1131 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = (yyvsp[(1) - (1)].command);
+--- 3152,3186 ----
+
+ case 139:
+! #line 1106 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), ';'); }
+ break;
+
+ case 140:
+! #line 1108 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), ';'); }
+ break;
+
+ case 141:
+! #line 1110 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 144:
+! #line 1118 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.number) = '\n'; }
+ break;
+
+ case 145:
+! #line 1120 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.number) = ';'; }
+ break;
+
+ case 146:
+! #line 1122 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.number) = yacc_EOF; }
+ break;
+
+ case 149:
+! #line 1136 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = (yyvsp[(1) - (1)].command);
+***************
+*** 3193,3197 ****
+
+ case 150:
+! #line 1144 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ if ((yyvsp[(1) - (2)].command)->type == cm_connection)
+--- 3198,3202 ----
+
+ case 150:
+! #line 1149 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ if ((yyvsp[(1) - (2)].command)->type == cm_connection)
+***************
+*** 3212,3216 ****
+
+ case 151:
+! #line 1160 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ (yyval.command) = (yyvsp[(1) - (2)].command);
+--- 3217,3221 ----
+
+ case 151:
+! #line 1165 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = (yyvsp[(1) - (2)].command);
+***************
+*** 3228,3242 ****
+
+ case 152:
+! #line 1175 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), AND_AND); }
+ break;
+
+ case 153:
+! #line 1177 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), OR_OR); }
+ break;
+
+ case 154:
+! #line 1179 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ if ((yyvsp[(1) - (3)].command)->type == cm_connection)
+--- 3233,3247 ----
+
+ case 152:
+! #line 1180 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), AND_AND); }
+ break;
+
+ case 153:
+! #line 1182 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), OR_OR); }
+ break;
+
+ case 154:
+! #line 1184 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ if ((yyvsp[(1) - (3)].command)->type == cm_connection)
+***************
+*** 3248,3267 ****
+
+ case 155:
+! #line 1186 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (3)].command), (yyvsp[(3) - (3)].command), ';'); }
+ break;
+
+ case 156:
+! #line 1189 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 157:
+! #line 1193 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 158:
+! #line 1195 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ if ((yyvsp[(2) - (2)].command))
+--- 3253,3272 ----
+
+ case 155:
+! #line 1191 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (3)].command), (yyvsp[(3) - (3)].command), ';'); }
+ break;
+
+ case 156:
+! #line 1194 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 157:
+! #line 1198 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 158:
+! #line 1200 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ if ((yyvsp[(2) - (2)].command))
+***************
+*** 3272,3276 ****
+
+ case 159:
+! #line 1201 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ if ((yyvsp[(2) - (2)].command))
+--- 3277,3281 ----
+
+ case 159:
+! #line 1206 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ if ((yyvsp[(2) - (2)].command))
+***************
+*** 3281,3285 ****
+
+ case 160:
+! #line 1207 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ ELEMENT x;
+--- 3286,3290 ----
+
+ case 160:
+! #line 1212 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ ELEMENT x;
+***************
+*** 3301,3305 ****
+
+ case 161:
+! #line 1224 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ ELEMENT x;
+--- 3306,3310 ----
+
+ case 161:
+! #line 1229 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ ELEMENT x;
+***************
+*** 3322,3331 ****
+
+ case 162:
+! #line 1244 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), '|'); }
+ break;
+
+ case 163:
+! #line 1246 "/usr/homes/chet/src/bash/src/parse.y"
+ {
+ /* Make cmd1 |& cmd2 equivalent to cmd1 2>&1 | cmd2 */
+--- 3327,3336 ----
+
+ case 162:
+! #line 1249 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), '|'); }
+ break;
+
+ case 163:
+! #line 1251 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ /* Make cmd1 |& cmd2 equivalent to cmd1 2>&1 | cmd2 */
+***************
+*** 3353,3372 ****
+
+ case 164:
+! #line 1269 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 165:
+! #line 1273 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.number) = CMD_TIME_PIPELINE; }
+ break;
+
+ case 166:
+! #line 1275 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; }
+ break;
+
+ case 167:
+! #line 1277 "/usr/homes/chet/src/bash/src/parse.y"
+ { (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; }
+ break;
+--- 3358,3377 ----
+
+ case 164:
+! #line 1274 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 165:
+! #line 1278 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.number) = CMD_TIME_PIPELINE; }
+ break;
+
+ case 166:
+! #line 1280 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; }
+ break;
+
+ case 167:
+! #line 1282 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; }
+ break;
+***************
+*** 3374,3378 ****
+
+ /* Line 1267 of yacc.c. */
+! #line 3377 "y.tab.c"
+ default: break;
+ }
+--- 3379,3383 ----
+
+ /* Line 1267 of yacc.c. */
+! #line 3382 "y.tab.c"
+ default: break;
+ }
+***************
+*** 3588,3592 ****
+
+
+! #line 1279 "/usr/homes/chet/src/bash/src/parse.y"
+
+
+--- 3593,3597 ----
+
+
+! #line 1284 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+
+
+***************
+*** 4949,4952 ****
+--- 4954,4972 ----
+ static int esacs_needed_count;
+
++ static void
++ push_heredoc (r)
++ REDIRECT *r;
++ {
++ if (need_here_doc >= HEREDOC_MAX)
++ {
++ last_command_exit_value = EX_BADUSAGE;
++ need_here_doc = 0;
++ report_syntax_error (_("maximum here-document count exceeded"));
++ reset_parser ();
++ exit_shell (last_command_exit_value);
++ }
++ redir_stack[need_here_doc++] = r;
++ }
++
+ void
+ gather_here_documents ()
+***************
+*** 8542,8543 ****
+--- 8562,8564 ----
+ }
+ #endif /* HANDLE_MULTIBYTE */
++
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 27
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 28
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-029 b/source/a/bash/bash-4.3-patches/bash43-029
new file mode 100644
index 000000000..93bd390a8
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-029
@@ -0,0 +1,59 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-029
+
+Bug-Reported-by: Michal Zalewski <lcamtuf@coredump.cx>
+Bug-Reference-ID:
+Bug-Reference-URL:
+
+Bug-Description:
+
+When bash is parsing a function definition that contains a here-document
+delimited by end-of-file (or end-of-string), it leaves the closing delimiter
+uninitialized. This can result in an invalid memory access when the parsed
+function is later copied.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3.28/make_cmd.c 2011-12-16 08:08:01.000000000 -0500
+--- make_cmd.c 2014-10-02 11:24:23.000000000 -0400
+***************
+*** 693,696 ****
+--- 693,697 ----
+ temp->redirector = source;
+ temp->redirectee = dest_and_filename;
++ temp->here_doc_eof = 0;
+ temp->instruction = instruction;
+ temp->flags = 0;
+*** ../bash-4.3.28/copy_cmd.c 2009-09-11 16:28:02.000000000 -0400
+--- copy_cmd.c 2014-10-02 11:24:23.000000000 -0400
+***************
+*** 127,131 ****
+ case r_reading_until:
+ case r_deblank_reading_until:
+! new_redirect->here_doc_eof = savestring (redirect->here_doc_eof);
+ /*FALLTHROUGH*/
+ case r_reading_string:
+--- 127,131 ----
+ case r_reading_until:
+ case r_deblank_reading_until:
+! new_redirect->here_doc_eof = redirect->here_doc_eof ? savestring (redirect->here_doc_eof) : 0;
+ /*FALLTHROUGH*/
+ case r_reading_string:
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 28
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 29
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-030 b/source/a/bash/bash-4.3-patches/bash43-030
new file mode 100644
index 000000000..78984da26
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-030
@@ -0,0 +1,2064 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-030
+
+Bug-Reported-by: Michal Zalewski <lcamtuf@coredump.cx>
+Bug-Reference-ID:
+Bug-Reference-URL:
+
+Bug-Description:
+
+A combination of nested command substitutions and function importing from
+the environment can cause bash to execute code appearing in the environment
+variable value following the function definition.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3.29/builtins/evalstring.c 2014-10-01 12:57:47.000000000 -0400
+--- builtins/evalstring.c 2014-10-03 11:57:04.000000000 -0400
+***************
+*** 309,318 ****
+ struct fd_bitmap *bitmap;
+
+! if ((flags & SEVAL_FUNCDEF) && command->type != cm_function_def)
+ {
+! internal_warning ("%s: ignoring function definition attempt", from_file);
+! should_jump_to_top_level = 0;
+! last_result = last_command_exit_value = EX_BADUSAGE;
+! break;
+ }
+
+--- 313,335 ----
+ struct fd_bitmap *bitmap;
+
+! if (flags & SEVAL_FUNCDEF)
+ {
+! char *x;
+!
+! /* If the command parses to something other than a straight
+! function definition, or if we have not consumed the entire
+! string, or if the parser has transformed the function
+! name (as parsing will if it begins or ends with shell
+! whitespace, for example), reject the attempt */
+! if (command->type != cm_function_def ||
+! ((x = parser_remaining_input ()) && *x) ||
+! (STREQ (from_file, command->value.Function_def->name->word) == 0))
+! {
+! internal_warning (_("%s: ignoring function definition attempt"), from_file);
+! should_jump_to_top_level = 0;
+! last_result = last_command_exit_value = EX_BADUSAGE;
+! reset_parser ();
+! break;
+! }
+ }
+
+***************
+*** 379,383 ****
+
+ if (flags & SEVAL_ONECMD)
+! break;
+ }
+ }
+--- 396,403 ----
+
+ if (flags & SEVAL_ONECMD)
+! {
+! reset_parser ();
+! break;
+! }
+ }
+ }
+*** ../bash-4.3.29/parse.y 2014-10-01 12:58:43.000000000 -0400
+--- parse.y 2014-10-03 14:48:59.000000000 -0400
+***************
+*** 2539,2542 ****
+--- 2539,2552 ----
+ }
+
++ char *
++ parser_remaining_input ()
++ {
++ if (shell_input_line == 0)
++ return 0;
++ if (shell_input_line_index < 0 || shell_input_line_index >= shell_input_line_len)
++ return '\0'; /* XXX */
++ return (shell_input_line + shell_input_line_index);
++ }
++
+ #ifdef INCLUDE_UNUSED
+ /* Back the input pointer up by one, effectively `ungetting' a character. */
+***************
+*** 4028,4033 ****
+ /* reset_parser clears shell_input_line and associated variables */
+ restore_input_line_state (&ls);
+! if (interactive)
+! token_to_read = 0;
+
+ /* Need to find how many characters parse_and_execute consumed, update
+--- 4053,4058 ----
+ /* reset_parser clears shell_input_line and associated variables */
+ restore_input_line_state (&ls);
+!
+! token_to_read = 0;
+
+ /* Need to find how many characters parse_and_execute consumed, update
+*** ../bash-4.3.29/shell.h 2014-10-01 12:57:39.000000000 -0400
+--- shell.h 2014-10-03 14:49:12.000000000 -0400
+***************
+*** 181,184 ****
+--- 181,186 ----
+
+ /* Let's try declaring these here. */
++ extern char *parser_remaining_input __P((void));
++
+ extern sh_parser_state_t *save_parser_state __P((sh_parser_state_t *));
+ extern void restore_parser_state __P((sh_parser_state_t *));
+*** ../bash-4.3.28/y.tab.c 2014-10-01 13:09:46.000000000 -0400
+--- y.tab.c 2014-10-04 19:26:22.000000000 -0400
+***************
+*** 169,173 ****
+
+ /* Copy the first part of user declarations. */
+! #line 21 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+
+ #include "config.h"
+--- 169,173 ----
+
+ /* Copy the first part of user declarations. */
+! #line 21 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+
+ #include "config.h"
+***************
+*** 498,502 ****
+ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+ typedef union YYSTYPE
+! #line 329 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ WORD_DESC *word; /* the word that we read. */
+--- 498,502 ----
+ #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+ typedef union YYSTYPE
+! #line 329 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ WORD_DESC *word; /* the word that we read. */
+***************
+*** 2099,2103 ****
+ {
+ case 2:
+! #line 383 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ /* Case of regular command. Discard the error
+--- 2099,2103 ----
+ {
+ case 2:
+! #line 383 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ /* Case of regular command. Discard the error
+***************
+*** 2113,2117 ****
+
+ case 3:
+! #line 394 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ /* Case of regular command, but not a very
+--- 2113,2117 ----
+
+ case 3:
+! #line 394 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ /* Case of regular command, but not a very
+***************
+*** 2125,2129 ****
+
+ case 4:
+! #line 403 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ /* Error during parsing. Return NULL command. */
+--- 2125,2129 ----
+
+ case 4:
+! #line 403 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ /* Error during parsing. Return NULL command. */
+***************
+*** 2143,2147 ****
+
+ case 5:
+! #line 418 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ /* Case of EOF seen by itself. Do ignoreeof or
+--- 2143,2147 ----
+
+ case 5:
+! #line 418 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ /* Case of EOF seen by itself. Do ignoreeof or
+***************
+*** 2154,2168 ****
+
+ case 6:
+! #line 428 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.word_list) = make_word_list ((yyvsp[(1) - (1)].word), (WORD_LIST *)NULL); }
+ break;
+
+ case 7:
+! #line 430 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.word_list) = make_word_list ((yyvsp[(2) - (2)].word), (yyvsp[(1) - (2)].word_list)); }
+ break;
+
+ case 8:
+! #line 434 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 1;
+--- 2154,2168 ----
+
+ case 6:
+! #line 428 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.word_list) = make_word_list ((yyvsp[(1) - (1)].word), (WORD_LIST *)NULL); }
+ break;
+
+ case 7:
+! #line 430 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.word_list) = make_word_list ((yyvsp[(2) - (2)].word), (yyvsp[(1) - (2)].word_list)); }
+ break;
+
+ case 8:
+! #line 434 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = 1;
+***************
+*** 2173,2177 ****
+
+ case 9:
+! #line 440 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 0;
+--- 2173,2177 ----
+
+ case 9:
+! #line 440 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = 0;
+***************
+*** 2182,2186 ****
+
+ case 10:
+! #line 446 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2182,2186 ----
+
+ case 10:
+! #line 446 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2191,2195 ****
+
+ case 11:
+! #line 452 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2191,2195 ----
+
+ case 11:
+! #line 452 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2200,2204 ****
+
+ case 12:
+! #line 458 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2200,2204 ----
+
+ case 12:
+! #line 458 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2209,2213 ****
+
+ case 13:
+! #line 464 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2209,2213 ----
+
+ case 13:
+! #line 464 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2218,2222 ****
+
+ case 14:
+! #line 470 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 1;
+--- 2218,2222 ----
+
+ case 14:
+! #line 470 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = 1;
+***************
+*** 2227,2231 ****
+
+ case 15:
+! #line 476 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2227,2231 ----
+
+ case 15:
+! #line 476 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2236,2240 ****
+
+ case 16:
+! #line 482 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2236,2240 ----
+
+ case 16:
+! #line 482 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2245,2249 ****
+
+ case 17:
+! #line 488 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 1;
+--- 2245,2249 ----
+
+ case 17:
+! #line 488 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = 1;
+***************
+*** 2254,2258 ****
+
+ case 18:
+! #line 494 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2254,2258 ----
+
+ case 18:
+! #line 494 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2263,2267 ****
+
+ case 19:
+! #line 500 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2263,2267 ----
+
+ case 19:
+! #line 500 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2272,2276 ****
+
+ case 20:
+! #line 506 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 0;
+--- 2272,2276 ----
+
+ case 20:
+! #line 506 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = 0;
+***************
+*** 2281,2285 ****
+
+ case 21:
+! #line 512 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2281,2285 ----
+
+ case 21:
+! #line 512 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2290,2294 ****
+
+ case 22:
+! #line 518 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2290,2294 ----
+
+ case 22:
+! #line 518 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2299,2303 ****
+
+ case 23:
+! #line 524 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 0;
+--- 2299,2303 ----
+
+ case 23:
+! #line 524 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = 0;
+***************
+*** 2309,2313 ****
+
+ case 24:
+! #line 531 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2309,2313 ----
+
+ case 24:
+! #line 531 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2319,2323 ****
+
+ case 25:
+! #line 538 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2319,2323 ----
+
+ case 25:
+! #line 538 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2329,2333 ****
+
+ case 26:
+! #line 545 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 0;
+--- 2329,2333 ----
+
+ case 26:
+! #line 545 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = 0;
+***************
+*** 2339,2343 ****
+
+ case 27:
+! #line 552 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2339,2343 ----
+
+ case 27:
+! #line 552 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2349,2353 ****
+
+ case 28:
+! #line 559 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2349,2353 ----
+
+ case 28:
+! #line 559 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2359,2363 ****
+
+ case 29:
+! #line 566 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 0;
+--- 2359,2363 ----
+
+ case 29:
+! #line 566 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = 0;
+***************
+*** 2368,2372 ****
+
+ case 30:
+! #line 572 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2368,2372 ----
+
+ case 30:
+! #line 572 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2377,2381 ****
+
+ case 31:
+! #line 578 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2377,2381 ----
+
+ case 31:
+! #line 578 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2386,2390 ****
+
+ case 32:
+! #line 584 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 0;
+--- 2386,2390 ----
+
+ case 32:
+! #line 584 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = 0;
+***************
+*** 2395,2399 ****
+
+ case 33:
+! #line 590 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2395,2399 ----
+
+ case 33:
+! #line 590 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2404,2408 ****
+
+ case 34:
+! #line 596 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2404,2408 ----
+
+ case 34:
+! #line 596 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2413,2417 ****
+
+ case 35:
+! #line 602 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 1;
+--- 2413,2417 ----
+
+ case 35:
+! #line 602 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = 1;
+***************
+*** 2422,2426 ****
+
+ case 36:
+! #line 608 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2422,2426 ----
+
+ case 36:
+! #line 608 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2431,2435 ****
+
+ case 37:
+! #line 614 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2431,2435 ----
+
+ case 37:
+! #line 614 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2440,2444 ****
+
+ case 38:
+! #line 620 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 0;
+--- 2440,2444 ----
+
+ case 38:
+! #line 620 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = 0;
+***************
+*** 2449,2453 ****
+
+ case 39:
+! #line 626 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2449,2453 ----
+
+ case 39:
+! #line 626 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2458,2462 ****
+
+ case 40:
+! #line 632 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2458,2462 ----
+
+ case 40:
+! #line 632 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2467,2471 ****
+
+ case 41:
+! #line 638 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 1;
+--- 2467,2471 ----
+
+ case 41:
+! #line 638 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = 1;
+***************
+*** 2476,2480 ****
+
+ case 42:
+! #line 644 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2476,2480 ----
+
+ case 42:
+! #line 644 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2485,2489 ****
+
+ case 43:
+! #line 650 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2485,2489 ----
+
+ case 43:
+! #line 650 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2494,2498 ****
+
+ case 44:
+! #line 656 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 1;
+--- 2494,2498 ----
+
+ case 44:
+! #line 656 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = 1;
+***************
+*** 2503,2507 ****
+
+ case 45:
+! #line 662 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2503,2507 ----
+
+ case 45:
+! #line 662 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2512,2516 ****
+
+ case 46:
+! #line 668 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2512,2516 ----
+
+ case 46:
+! #line 668 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2521,2525 ****
+
+ case 47:
+! #line 674 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 0;
+--- 2521,2525 ----
+
+ case 47:
+! #line 674 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = 0;
+***************
+*** 2530,2534 ****
+
+ case 48:
+! #line 680 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+--- 2530,2534 ----
+
+ case 48:
+! #line 680 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = (yyvsp[(1) - (3)].number);
+***************
+*** 2539,2543 ****
+
+ case 49:
+! #line 686 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+--- 2539,2543 ----
+
+ case 49:
+! #line 686 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.filename = (yyvsp[(1) - (3)].word);
+***************
+*** 2548,2552 ****
+
+ case 50:
+! #line 692 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 1;
+--- 2548,2552 ----
+
+ case 50:
+! #line 692 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = 1;
+***************
+*** 2557,2561 ****
+
+ case 51:
+! #line 698 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ source.dest = 1;
+--- 2557,2561 ----
+
+ case 51:
+! #line 698 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ source.dest = 1;
+***************
+*** 2566,2585 ****
+
+ case 52:
+! #line 706 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.element).word = (yyvsp[(1) - (1)].word); (yyval.element).redirect = 0; }
+ break;
+
+ case 53:
+! #line 708 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.element).word = (yyvsp[(1) - (1)].word); (yyval.element).redirect = 0; }
+ break;
+
+ case 54:
+! #line 710 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.element).redirect = (yyvsp[(1) - (1)].redirect); (yyval.element).word = 0; }
+ break;
+
+ case 55:
+! #line 714 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.redirect) = (yyvsp[(1) - (1)].redirect);
+--- 2566,2585 ----
+
+ case 52:
+! #line 706 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.element).word = (yyvsp[(1) - (1)].word); (yyval.element).redirect = 0; }
+ break;
+
+ case 53:
+! #line 708 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.element).word = (yyvsp[(1) - (1)].word); (yyval.element).redirect = 0; }
+ break;
+
+ case 54:
+! #line 710 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.element).redirect = (yyvsp[(1) - (1)].redirect); (yyval.element).word = 0; }
+ break;
+
+ case 55:
+! #line 714 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.redirect) = (yyvsp[(1) - (1)].redirect);
+***************
+*** 2588,2592 ****
+
+ case 56:
+! #line 718 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ register REDIRECT *t;
+--- 2588,2592 ----
+
+ case 56:
+! #line 718 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ register REDIRECT *t;
+***************
+*** 2600,2624 ****
+
+ case 57:
+! #line 729 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_simple_command ((yyvsp[(1) - (1)].element), (COMMAND *)NULL); }
+ break;
+
+ case 58:
+! #line 731 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_simple_command ((yyvsp[(2) - (2)].element), (yyvsp[(1) - (2)].command)); }
+ break;
+
+ case 59:
+! #line 735 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = clean_simple_command ((yyvsp[(1) - (1)].command)); }
+ break;
+
+ case 60:
+! #line 737 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 61:
+! #line 739 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ COMMAND *tc;
+--- 2600,2624 ----
+
+ case 57:
+! #line 729 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = make_simple_command ((yyvsp[(1) - (1)].element), (COMMAND *)NULL); }
+ break;
+
+ case 58:
+! #line 731 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = make_simple_command ((yyvsp[(2) - (2)].element), (yyvsp[(1) - (2)].command)); }
+ break;
+
+ case 59:
+! #line 735 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = clean_simple_command ((yyvsp[(1) - (1)].command)); }
+ break;
+
+ case 60:
+! #line 737 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 61:
+! #line 739 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ COMMAND *tc;
+***************
+*** 2639,2708 ****
+
+ case 62:
+! #line 755 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 63:
+! #line 757 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 64:
+! #line 761 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 65:
+! #line 763 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 66:
+! #line 765 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_while_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command)); }
+ break;
+
+ case 67:
+! #line 767 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_until_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command)); }
+ break;
+
+ case 68:
+! #line 769 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 69:
+! #line 771 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 70:
+! #line 773 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 71:
+! #line 775 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 72:
+! #line 777 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 73:
+! #line 779 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 74:
+! #line 781 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 75:
+! #line 785 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
+--- 2639,2708 ----
+
+ case 62:
+! #line 755 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 63:
+! #line 757 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 64:
+! #line 761 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 65:
+! #line 763 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 66:
+! #line 765 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = make_while_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command)); }
+ break;
+
+ case 67:
+! #line 767 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = make_until_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command)); }
+ break;
+
+ case 68:
+! #line 769 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 69:
+! #line 771 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 70:
+! #line 773 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 71:
+! #line 775 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 72:
+! #line 777 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 73:
+! #line 779 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 74:
+! #line 781 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 75:
+! #line 785 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
+***************
+*** 2712,2716 ****
+
+ case 76:
+! #line 790 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
+--- 2712,2716 ----
+
+ case 76:
+! #line 790 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
+***************
+*** 2720,2724 ****
+
+ case 77:
+! #line 795 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
+--- 2720,2724 ----
+
+ case 77:
+! #line 795 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
+***************
+*** 2728,2732 ****
+
+ case 78:
+! #line 800 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
+--- 2728,2732 ----
+
+ case 78:
+! #line 800 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
+***************
+*** 2736,2740 ****
+
+ case 79:
+! #line 805 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
+--- 2736,2740 ----
+
+ case 79:
+! #line 805 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
+***************
+*** 2744,2748 ****
+
+ case 80:
+! #line 810 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
+--- 2744,2748 ----
+
+ case 80:
+! #line 810 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
+***************
+*** 2752,2756 ****
+
+ case 81:
+! #line 815 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (9)].word), (WORD_LIST *)NULL, (yyvsp[(8) - (9)].command), word_lineno[word_top]);
+--- 2752,2756 ----
+
+ case 81:
+! #line 815 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (9)].word), (WORD_LIST *)NULL, (yyvsp[(8) - (9)].command), word_lineno[word_top]);
+***************
+*** 2760,2764 ****
+
+ case 82:
+! #line 820 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (9)].word), (WORD_LIST *)NULL, (yyvsp[(8) - (9)].command), word_lineno[word_top]);
+--- 2760,2764 ----
+
+ case 82:
+! #line 820 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_for_command ((yyvsp[(2) - (9)].word), (WORD_LIST *)NULL, (yyvsp[(8) - (9)].command), word_lineno[word_top]);
+***************
+*** 2768,2772 ****
+
+ case 83:
+! #line 827 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_arith_for_command ((yyvsp[(2) - (7)].word_list), (yyvsp[(6) - (7)].command), arith_for_lineno);
+--- 2768,2772 ----
+
+ case 83:
+! #line 827 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_arith_for_command ((yyvsp[(2) - (7)].word_list), (yyvsp[(6) - (7)].command), arith_for_lineno);
+***************
+*** 2776,2780 ****
+
+ case 84:
+! #line 832 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_arith_for_command ((yyvsp[(2) - (7)].word_list), (yyvsp[(6) - (7)].command), arith_for_lineno);
+--- 2776,2780 ----
+
+ case 84:
+! #line 832 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_arith_for_command ((yyvsp[(2) - (7)].word_list), (yyvsp[(6) - (7)].command), arith_for_lineno);
+***************
+*** 2784,2788 ****
+
+ case 85:
+! #line 837 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_arith_for_command ((yyvsp[(2) - (5)].word_list), (yyvsp[(4) - (5)].command), arith_for_lineno);
+--- 2784,2788 ----
+
+ case 85:
+! #line 837 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_arith_for_command ((yyvsp[(2) - (5)].word_list), (yyvsp[(4) - (5)].command), arith_for_lineno);
+***************
+*** 2792,2796 ****
+
+ case 86:
+! #line 842 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_arith_for_command ((yyvsp[(2) - (5)].word_list), (yyvsp[(4) - (5)].command), arith_for_lineno);
+--- 2792,2796 ----
+
+ case 86:
+! #line 842 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_arith_for_command ((yyvsp[(2) - (5)].word_list), (yyvsp[(4) - (5)].command), arith_for_lineno);
+***************
+*** 2800,2804 ****
+
+ case 87:
+! #line 849 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
+--- 2800,2804 ----
+
+ case 87:
+! #line 849 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
+***************
+*** 2808,2812 ****
+
+ case 88:
+! #line 854 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
+--- 2808,2812 ----
+
+ case 88:
+! #line 854 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (6)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(5) - (6)].command), word_lineno[word_top]);
+***************
+*** 2816,2820 ****
+
+ case 89:
+! #line 859 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
+--- 2816,2820 ----
+
+ case 89:
+! #line 859 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
+***************
+*** 2824,2828 ****
+
+ case 90:
+! #line 864 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
+--- 2824,2828 ----
+
+ case 90:
+! #line 864 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (7)].word), add_string_to_list ("\"$@\"", (WORD_LIST *)NULL), (yyvsp[(6) - (7)].command), word_lineno[word_top]);
+***************
+*** 2832,2836 ****
+
+ case 91:
+! #line 869 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
+--- 2832,2836 ----
+
+ case 91:
+! #line 869 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
+***************
+*** 2840,2844 ****
+
+ case 92:
+! #line 874 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
+--- 2840,2844 ----
+
+ case 92:
+! #line 874 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_select_command ((yyvsp[(2) - (10)].word), REVERSE_LIST ((yyvsp[(5) - (10)].word_list), WORD_LIST *), (yyvsp[(9) - (10)].command), word_lineno[word_top]);
+***************
+*** 2848,2852 ****
+
+ case 93:
+! #line 881 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_case_command ((yyvsp[(2) - (6)].word), (PATTERN_LIST *)NULL, word_lineno[word_top]);
+--- 2848,2852 ----
+
+ case 93:
+! #line 881 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_case_command ((yyvsp[(2) - (6)].word), (PATTERN_LIST *)NULL, word_lineno[word_top]);
+***************
+*** 2856,2860 ****
+
+ case 94:
+! #line 886 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_case_command ((yyvsp[(2) - (7)].word), (yyvsp[(5) - (7)].pattern), word_lineno[word_top]);
+--- 2856,2860 ----
+
+ case 94:
+! #line 886 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_case_command ((yyvsp[(2) - (7)].word), (yyvsp[(5) - (7)].pattern), word_lineno[word_top]);
+***************
+*** 2864,2868 ****
+
+ case 95:
+! #line 891 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_case_command ((yyvsp[(2) - (6)].word), (yyvsp[(5) - (6)].pattern), word_lineno[word_top]);
+--- 2864,2868 ----
+
+ case 95:
+! #line 891 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_case_command ((yyvsp[(2) - (6)].word), (yyvsp[(5) - (6)].pattern), word_lineno[word_top]);
+***************
+*** 2872,2896 ****
+
+ case 96:
+! #line 898 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_function_def ((yyvsp[(1) - (5)].word), (yyvsp[(5) - (5)].command), function_dstart, function_bstart); }
+ break;
+
+ case 97:
+! #line 901 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_function_def ((yyvsp[(2) - (6)].word), (yyvsp[(6) - (6)].command), function_dstart, function_bstart); }
+ break;
+
+ case 98:
+! #line 904 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_function_def ((yyvsp[(2) - (4)].word), (yyvsp[(4) - (4)].command), function_dstart, function_bstart); }
+ break;
+
+ case 99:
+! #line 908 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 100:
+! #line 910 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ COMMAND *tc;
+--- 2872,2896 ----
+
+ case 96:
+! #line 898 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = make_function_def ((yyvsp[(1) - (5)].word), (yyvsp[(5) - (5)].command), function_dstart, function_bstart); }
+ break;
+
+ case 97:
+! #line 901 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = make_function_def ((yyvsp[(2) - (6)].word), (yyvsp[(6) - (6)].command), function_dstart, function_bstart); }
+ break;
+
+ case 98:
+! #line 904 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = make_function_def ((yyvsp[(2) - (4)].word), (yyvsp[(4) - (4)].command), function_dstart, function_bstart); }
+ break;
+
+ case 99:
+! #line 908 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 100:
+! #line 910 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ COMMAND *tc;
+***************
+*** 2924,2928 ****
+
+ case 101:
+! #line 941 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_subshell_command ((yyvsp[(2) - (3)].command));
+--- 2924,2928 ----
+
+ case 101:
+! #line 941 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_subshell_command ((yyvsp[(2) - (3)].command));
+***************
+*** 2932,2936 ****
+
+ case 102:
+! #line 948 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_coproc_command ("COPROC", (yyvsp[(2) - (2)].command));
+--- 2932,2936 ----
+
+ case 102:
+! #line 948 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_coproc_command ("COPROC", (yyvsp[(2) - (2)].command));
+***************
+*** 2940,2944 ****
+
+ case 103:
+! #line 953 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ COMMAND *tc;
+--- 2940,2944 ----
+
+ case 103:
+! #line 953 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ COMMAND *tc;
+***************
+*** 2960,2964 ****
+
+ case 104:
+! #line 970 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_coproc_command ((yyvsp[(2) - (3)].word)->word, (yyvsp[(3) - (3)].command));
+--- 2960,2964 ----
+
+ case 104:
+! #line 970 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_coproc_command ((yyvsp[(2) - (3)].word)->word, (yyvsp[(3) - (3)].command));
+***************
+*** 2968,2972 ****
+
+ case 105:
+! #line 975 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ COMMAND *tc;
+--- 2968,2972 ----
+
+ case 105:
+! #line 975 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ COMMAND *tc;
+***************
+*** 2988,2992 ****
+
+ case 106:
+! #line 992 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = make_coproc_command ("COPROC", clean_simple_command ((yyvsp[(2) - (2)].command)));
+--- 2988,2992 ----
+
+ case 106:
+! #line 992 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = make_coproc_command ("COPROC", clean_simple_command ((yyvsp[(2) - (2)].command)));
+***************
+*** 2996,3110 ****
+
+ case 107:
+! #line 999 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command), (COMMAND *)NULL); }
+ break;
+
+ case 108:
+! #line 1001 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (7)].command), (yyvsp[(4) - (7)].command), (yyvsp[(6) - (7)].command)); }
+ break;
+
+ case 109:
+! #line 1003 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (6)].command), (yyvsp[(4) - (6)].command), (yyvsp[(5) - (6)].command)); }
+ break;
+
+ case 110:
+! #line 1008 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_group_command ((yyvsp[(2) - (3)].command)); }
+ break;
+
+ case 111:
+! #line 1012 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_arith_command ((yyvsp[(1) - (1)].word_list)); }
+ break;
+
+ case 112:
+! #line 1016 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(2) - (3)].command); }
+ break;
+
+ case 113:
+! #line 1020 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (4)].command), (yyvsp[(4) - (4)].command), (COMMAND *)NULL); }
+ break;
+
+ case 114:
+! #line 1022 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (6)].command), (yyvsp[(4) - (6)].command), (yyvsp[(6) - (6)].command)); }
+ break;
+
+ case 115:
+! #line 1024 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command), (yyvsp[(5) - (5)].command)); }
+ break;
+
+ case 117:
+! #line 1029 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyvsp[(2) - (2)].pattern)->next = (yyvsp[(1) - (2)].pattern); (yyval.pattern) = (yyvsp[(2) - (2)].pattern); }
+ break;
+
+ case 118:
+! #line 1033 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.pattern) = make_pattern_list ((yyvsp[(2) - (4)].word_list), (yyvsp[(4) - (4)].command)); }
+ break;
+
+ case 119:
+! #line 1035 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.pattern) = make_pattern_list ((yyvsp[(2) - (4)].word_list), (COMMAND *)NULL); }
+ break;
+
+ case 120:
+! #line 1037 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.pattern) = make_pattern_list ((yyvsp[(3) - (5)].word_list), (yyvsp[(5) - (5)].command)); }
+ break;
+
+ case 121:
+! #line 1039 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.pattern) = make_pattern_list ((yyvsp[(3) - (5)].word_list), (COMMAND *)NULL); }
+ break;
+
+ case 122:
+! #line 1043 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.pattern) = (yyvsp[(1) - (2)].pattern); }
+ break;
+
+ case 123:
+! #line 1045 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); }
+ break;
+
+ case 124:
+! #line 1047 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyvsp[(1) - (2)].pattern)->flags |= CASEPAT_FALLTHROUGH; (yyval.pattern) = (yyvsp[(1) - (2)].pattern); }
+ break;
+
+ case 125:
+! #line 1049 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyvsp[(2) - (3)].pattern)->flags |= CASEPAT_FALLTHROUGH; (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); }
+ break;
+
+ case 126:
+! #line 1051 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyvsp[(1) - (2)].pattern)->flags |= CASEPAT_TESTNEXT; (yyval.pattern) = (yyvsp[(1) - (2)].pattern); }
+ break;
+
+ case 127:
+! #line 1053 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyvsp[(2) - (3)].pattern)->flags |= CASEPAT_TESTNEXT; (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); }
+ break;
+
+ case 128:
+! #line 1057 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.word_list) = make_word_list ((yyvsp[(1) - (1)].word), (WORD_LIST *)NULL); }
+ break;
+
+ case 129:
+! #line 1059 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.word_list) = make_word_list ((yyvsp[(3) - (3)].word), (yyvsp[(1) - (3)].word_list)); }
+ break;
+
+ case 130:
+! #line 1068 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = (yyvsp[(2) - (2)].command);
+--- 2996,3110 ----
+
+ case 107:
+! #line 999 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command), (COMMAND *)NULL); }
+ break;
+
+ case 108:
+! #line 1001 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (7)].command), (yyvsp[(4) - (7)].command), (yyvsp[(6) - (7)].command)); }
+ break;
+
+ case 109:
+! #line 1003 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (6)].command), (yyvsp[(4) - (6)].command), (yyvsp[(5) - (6)].command)); }
+ break;
+
+ case 110:
+! #line 1008 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = make_group_command ((yyvsp[(2) - (3)].command)); }
+ break;
+
+ case 111:
+! #line 1012 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = make_arith_command ((yyvsp[(1) - (1)].word_list)); }
+ break;
+
+ case 112:
+! #line 1016 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = (yyvsp[(2) - (3)].command); }
+ break;
+
+ case 113:
+! #line 1020 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (4)].command), (yyvsp[(4) - (4)].command), (COMMAND *)NULL); }
+ break;
+
+ case 114:
+! #line 1022 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (6)].command), (yyvsp[(4) - (6)].command), (yyvsp[(6) - (6)].command)); }
+ break;
+
+ case 115:
+! #line 1024 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = make_if_command ((yyvsp[(2) - (5)].command), (yyvsp[(4) - (5)].command), (yyvsp[(5) - (5)].command)); }
+ break;
+
+ case 117:
+! #line 1029 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyvsp[(2) - (2)].pattern)->next = (yyvsp[(1) - (2)].pattern); (yyval.pattern) = (yyvsp[(2) - (2)].pattern); }
+ break;
+
+ case 118:
+! #line 1033 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.pattern) = make_pattern_list ((yyvsp[(2) - (4)].word_list), (yyvsp[(4) - (4)].command)); }
+ break;
+
+ case 119:
+! #line 1035 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.pattern) = make_pattern_list ((yyvsp[(2) - (4)].word_list), (COMMAND *)NULL); }
+ break;
+
+ case 120:
+! #line 1037 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.pattern) = make_pattern_list ((yyvsp[(3) - (5)].word_list), (yyvsp[(5) - (5)].command)); }
+ break;
+
+ case 121:
+! #line 1039 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.pattern) = make_pattern_list ((yyvsp[(3) - (5)].word_list), (COMMAND *)NULL); }
+ break;
+
+ case 122:
+! #line 1043 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.pattern) = (yyvsp[(1) - (2)].pattern); }
+ break;
+
+ case 123:
+! #line 1045 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); }
+ break;
+
+ case 124:
+! #line 1047 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyvsp[(1) - (2)].pattern)->flags |= CASEPAT_FALLTHROUGH; (yyval.pattern) = (yyvsp[(1) - (2)].pattern); }
+ break;
+
+ case 125:
+! #line 1049 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyvsp[(2) - (3)].pattern)->flags |= CASEPAT_FALLTHROUGH; (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); }
+ break;
+
+ case 126:
+! #line 1051 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyvsp[(1) - (2)].pattern)->flags |= CASEPAT_TESTNEXT; (yyval.pattern) = (yyvsp[(1) - (2)].pattern); }
+ break;
+
+ case 127:
+! #line 1053 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyvsp[(2) - (3)].pattern)->flags |= CASEPAT_TESTNEXT; (yyvsp[(2) - (3)].pattern)->next = (yyvsp[(1) - (3)].pattern); (yyval.pattern) = (yyvsp[(2) - (3)].pattern); }
+ break;
+
+ case 128:
+! #line 1057 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.word_list) = make_word_list ((yyvsp[(1) - (1)].word), (WORD_LIST *)NULL); }
+ break;
+
+ case 129:
+! #line 1059 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.word_list) = make_word_list ((yyvsp[(3) - (3)].word), (yyvsp[(1) - (3)].word_list)); }
+ break;
+
+ case 130:
+! #line 1068 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = (yyvsp[(2) - (2)].command);
+***************
+*** 3115,3119 ****
+
+ case 132:
+! #line 1077 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = (yyvsp[(2) - (2)].command);
+--- 3115,3119 ----
+
+ case 132:
+! #line 1077 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = (yyvsp[(2) - (2)].command);
+***************
+*** 3122,3126 ****
+
+ case 134:
+! #line 1084 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ if ((yyvsp[(1) - (3)].command)->type == cm_connection)
+--- 3122,3126 ----
+
+ case 134:
+! #line 1084 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ if ((yyvsp[(1) - (3)].command)->type == cm_connection)
+***************
+*** 3132,3146 ****
+
+ case 136:
+! #line 1095 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), AND_AND); }
+ break;
+
+ case 137:
+! #line 1097 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), OR_OR); }
+ break;
+
+ case 138:
+! #line 1099 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ if ((yyvsp[(1) - (4)].command)->type == cm_connection)
+--- 3132,3146 ----
+
+ case 136:
+! #line 1095 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), AND_AND); }
+ break;
+
+ case 137:
+! #line 1097 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), OR_OR); }
+ break;
+
+ case 138:
+! #line 1099 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ if ((yyvsp[(1) - (4)].command)->type == cm_connection)
+***************
+*** 3152,3186 ****
+
+ case 139:
+! #line 1106 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), ';'); }
+ break;
+
+ case 140:
+! #line 1108 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), ';'); }
+ break;
+
+ case 141:
+! #line 1110 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 144:
+! #line 1118 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.number) = '\n'; }
+ break;
+
+ case 145:
+! #line 1120 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.number) = ';'; }
+ break;
+
+ case 146:
+! #line 1122 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.number) = yacc_EOF; }
+ break;
+
+ case 149:
+! #line 1136 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = (yyvsp[(1) - (1)].command);
+--- 3152,3186 ----
+
+ case 139:
+! #line 1106 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), ';'); }
+ break;
+
+ case 140:
+! #line 1108 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), ';'); }
+ break;
+
+ case 141:
+! #line 1110 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 144:
+! #line 1118 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.number) = '\n'; }
+ break;
+
+ case 145:
+! #line 1120 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.number) = ';'; }
+ break;
+
+ case 146:
+! #line 1122 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.number) = yacc_EOF; }
+ break;
+
+ case 149:
+! #line 1136 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = (yyvsp[(1) - (1)].command);
+***************
+*** 3198,3202 ****
+
+ case 150:
+! #line 1149 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ if ((yyvsp[(1) - (2)].command)->type == cm_connection)
+--- 3198,3202 ----
+
+ case 150:
+! #line 1149 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ if ((yyvsp[(1) - (2)].command)->type == cm_connection)
+***************
+*** 3217,3221 ****
+
+ case 151:
+! #line 1165 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ (yyval.command) = (yyvsp[(1) - (2)].command);
+--- 3217,3221 ----
+
+ case 151:
+! #line 1165 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ (yyval.command) = (yyvsp[(1) - (2)].command);
+***************
+*** 3233,3247 ****
+
+ case 152:
+! #line 1180 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), AND_AND); }
+ break;
+
+ case 153:
+! #line 1182 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), OR_OR); }
+ break;
+
+ case 154:
+! #line 1184 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ if ((yyvsp[(1) - (3)].command)->type == cm_connection)
+--- 3233,3247 ----
+
+ case 152:
+! #line 1180 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), AND_AND); }
+ break;
+
+ case 153:
+! #line 1182 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), OR_OR); }
+ break;
+
+ case 154:
+! #line 1184 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ if ((yyvsp[(1) - (3)].command)->type == cm_connection)
+***************
+*** 3253,3272 ****
+
+ case 155:
+! #line 1191 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (3)].command), (yyvsp[(3) - (3)].command), ';'); }
+ break;
+
+ case 156:
+! #line 1194 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 157:
+! #line 1198 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 158:
+! #line 1200 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ if ((yyvsp[(2) - (2)].command))
+--- 3253,3272 ----
+
+ case 155:
+! #line 1191 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (3)].command), (yyvsp[(3) - (3)].command), ';'); }
+ break;
+
+ case 156:
+! #line 1194 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 157:
+! #line 1198 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 158:
+! #line 1200 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ if ((yyvsp[(2) - (2)].command))
+***************
+*** 3277,3281 ****
+
+ case 159:
+! #line 1206 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ if ((yyvsp[(2) - (2)].command))
+--- 3277,3281 ----
+
+ case 159:
+! #line 1206 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ if ((yyvsp[(2) - (2)].command))
+***************
+*** 3286,3290 ****
+
+ case 160:
+! #line 1212 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ ELEMENT x;
+--- 3286,3290 ----
+
+ case 160:
+! #line 1212 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ ELEMENT x;
+***************
+*** 3306,3310 ****
+
+ case 161:
+! #line 1229 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ ELEMENT x;
+--- 3306,3310 ----
+
+ case 161:
+! #line 1229 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ ELEMENT x;
+***************
+*** 3327,3336 ****
+
+ case 162:
+! #line 1249 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), '|'); }
+ break;
+
+ case 163:
+! #line 1251 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ {
+ /* Make cmd1 |& cmd2 equivalent to cmd1 2>&1 | cmd2 */
+--- 3327,3336 ----
+
+ case 162:
+! #line 1249 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = command_connect ((yyvsp[(1) - (4)].command), (yyvsp[(4) - (4)].command), '|'); }
+ break;
+
+ case 163:
+! #line 1251 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ {
+ /* Make cmd1 |& cmd2 equivalent to cmd1 2>&1 | cmd2 */
+***************
+*** 3358,3377 ****
+
+ case 164:
+! #line 1274 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 165:
+! #line 1278 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.number) = CMD_TIME_PIPELINE; }
+ break;
+
+ case 166:
+! #line 1280 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; }
+ break;
+
+ case 167:
+! #line 1282 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+ { (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; }
+ break;
+--- 3358,3377 ----
+
+ case 164:
+! #line 1274 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.command) = (yyvsp[(1) - (1)].command); }
+ break;
+
+ case 165:
+! #line 1278 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.number) = CMD_TIME_PIPELINE; }
+ break;
+
+ case 166:
+! #line 1280 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; }
+ break;
+
+ case 167:
+! #line 1282 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+ { (yyval.number) = CMD_TIME_PIPELINE|CMD_TIME_POSIX; }
+ break;
+***************
+*** 3593,3597 ****
+
+
+! #line 1284 "/usr/src/local/chet/src/bash/bash-4.3.28/parse.y"
+
+
+--- 3593,3597 ----
+
+
+! #line 1284 "/usr/src/local/bash/bash-4.3-patched/parse.y"
+
+
+***************
+*** 4851,4854 ****
+--- 4851,4864 ----
+ }
+
++ char *
++ parser_remaining_input ()
++ {
++ if (shell_input_line == 0)
++ return 0;
++ if (shell_input_line_index < 0 || shell_input_line_index >= shell_input_line_len)
++ return '\0'; /* XXX */
++ return (shell_input_line + shell_input_line_index);
++ }
++
+ #ifdef INCLUDE_UNUSED
+ /* Back the input pointer up by one, effectively `ungetting' a character. */
+***************
+*** 6340,6345 ****
+ /* reset_parser clears shell_input_line and associated variables */
+ restore_input_line_state (&ls);
+! if (interactive)
+! token_to_read = 0;
+
+ /* Need to find how many characters parse_and_execute consumed, update
+--- 6350,6355 ----
+ /* reset_parser clears shell_input_line and associated variables */
+ restore_input_line_state (&ls);
+!
+! token_to_read = 0;
+
+ /* Need to find how many characters parse_and_execute consumed, update
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 29
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 30
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-031 b/source/a/bash/bash-4.3-patches/bash43-031
new file mode 100644
index 000000000..a6519560a
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-031
@@ -0,0 +1,112 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-031
+
+Bug-Reported-by: lolilolicon <lolilolicon@gmail.com>
+Bug-Reference-ID: <CAMtVo_Nz=32Oq=zWTb6=+8gUNXOo2rRvud1W4oPnA-cgVk_ZqQ@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-08/msg00139.html
+
+Bug-Description:
+
+The new nameref assignment functionality introduced in bash-4.3 did not perform
+enough validation on the variable value and would create variables with
+invalid names.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/subst.h 2014-01-11 21:02:27.000000000 -0500
+--- subst.h 2014-09-01 12:16:56.000000000 -0400
+***************
+*** 48,51 ****
+--- 48,52 ----
+ #define ASS_MKGLOBAL 0x0008 /* force global assignment */
+ #define ASS_NAMEREF 0x0010 /* assigning to nameref variable */
++ #define ASS_FROMREF 0x0020 /* assigning from value of nameref variable */
+
+ /* Flags for the string extraction functions. */
+*** ../bash-4.3-patched/variables.c 2014-05-15 08:26:50.000000000 -0400
+--- variables.c 2014-09-01 14:37:44.000000000 -0400
+***************
+*** 2504,2511 ****
+ int hflags, aflags;
+ {
+! char *newval;
+ SHELL_VAR *entry;
+
+ entry = (hflags & HASH_NOSRCH) ? (SHELL_VAR *)NULL : hash_lookup (name, table);
+ /* Follow the nameref chain here if this is the global variables table */
+ if (entry && nameref_p (entry) && (invisible_p (entry) == 0) && table == global_variables->table)
+--- 2566,2590 ----
+ int hflags, aflags;
+ {
+! char *newname, *newval;
+ SHELL_VAR *entry;
++ #if defined (ARRAY_VARS)
++ arrayind_t ind;
++ char *subp;
++ int sublen;
++ #endif
+
++ newname = 0;
++ #if defined (ARRAY_VARS)
++ if ((aflags & ASS_FROMREF) && (hflags & HASH_NOSRCH) == 0 && valid_array_reference (name))
++ {
++ newname = array_variable_name (name, &subp, &sublen);
++ if (newname == 0)
++ return (SHELL_VAR *)NULL; /* XXX */
++ entry = hash_lookup (newname, table);
++ }
++ else
++ #endif
+ entry = (hflags & HASH_NOSRCH) ? (SHELL_VAR *)NULL : hash_lookup (name, table);
++
+ /* Follow the nameref chain here if this is the global variables table */
+ if (entry && nameref_p (entry) && (invisible_p (entry) == 0) && table == global_variables->table)
+***************
+*** 2538,2541 ****
+--- 2617,2630 ----
+ }
+ }
++ #if defined (ARRAY_VARS)
++ else if (entry == 0 && newname)
++ {
++ entry = make_new_array_variable (newname); /* indexed array by default */
++ if (entry == 0)
++ return entry;
++ ind = array_expand_index (name, subp, sublen);
++ bind_array_element (entry, ind, value, aflags);
++ }
++ #endif
+ else if (entry == 0)
+ {
+***************
+*** 2658,2662 ****
+ if (nameref_cell (nv) == 0)
+ return (bind_variable_internal (nv->name, value, nvc->table, 0, flags));
+! return (bind_variable_internal (nameref_cell (nv), value, nvc->table, 0, flags));
+ }
+ else
+--- 2747,2752 ----
+ if (nameref_cell (nv) == 0)
+ return (bind_variable_internal (nv->name, value, nvc->table, 0, flags));
+! /* XXX - bug here with ref=array[index] */
+! return (bind_variable_internal (nameref_cell (nv), value, nvc->table, 0, flags|ASS_FROMREF));
+ }
+ else
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 30
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 31
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-032 b/source/a/bash/bash-4.3-patches/bash43-032
new file mode 100644
index 000000000..0843719cb
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-032
@@ -0,0 +1,51 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-032
+
+Bug-Reported-by: crispusfairbairn@gmail.com
+Bug-Reference-ID: <b5e499f7-3b98-408d-9f94-c0387580e73a@googlegroups.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-09/msg00013.html
+
+Bug-Description:
+
+When bash is running in Posix mode, it allows signals -- including SIGCHLD --
+to interrupt the `wait' builtin, as Posix requires. However, the interrupt
+causes bash to not run a SIGCHLD trap for all exited children. This patch
+fixes the issue and restores the documented behavior in Posix mode.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/jobs.c 2014-05-14 09:20:15.000000000 -0400
+--- jobs.c 2014-09-09 11:50:38.000000000 -0400
+***************
+*** 3340,3344 ****
+ {
+ interrupt_immediately = 0;
+! trap_handler (SIGCHLD); /* set pending_traps[SIGCHLD] */
+ wait_signal_received = SIGCHLD;
+ /* If we're in a signal handler, let CHECK_WAIT_INTR pick it up;
+--- 3346,3352 ----
+ {
+ interrupt_immediately = 0;
+! /* This was trap_handler (SIGCHLD) but that can lose traps if
+! children_exited > 1 */
+! queue_sigchld_trap (children_exited);
+ wait_signal_received = SIGCHLD;
+ /* If we're in a signal handler, let CHECK_WAIT_INTR pick it up;
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 31
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 32
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-033 b/source/a/bash/bash-4.3-patches/bash43-033
new file mode 100644
index 000000000..5f5147ffd
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-033
@@ -0,0 +1,225 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-033
+
+Bug-Reported-by: mickael9@gmail.com, Jan Rome <jan.rome@gmail.com>
+Bug-Reference-ID: <20140907224046.382ED3610CC@mickael-laptop.localdomain>,
+ <540D661D.50908@gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-09/msg00029.html
+ http://lists.gnu.org/archive/html/bug-bash/2014-09/msg00030.html
+
+Bug-Description:
+
+Bash does not clean up the terminal state in all cases where bash or
+readline modifies it and bash is subsequently terminated by a fatal signal.
+This happens when the `read' builtin modifies the terminal settings, both
+when readline is active and when it is not. It occurs most often when a script
+installs a trap that exits on a signal without re-sending the signal to itself.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/shell.c 2014-01-14 08:04:32.000000000 -0500
+--- shell.c 2014-12-22 10:27:50.000000000 -0500
+***************
+*** 74,77 ****
+--- 74,78 ----
+
+ #if defined (READLINE)
++ # include <readline/readline.h>
+ # include "bashline.h"
+ #endif
+***************
+*** 910,913 ****
+--- 912,923 ----
+ fflush (stderr);
+
++ /* Clean up the terminal if we are in a state where it's been modified. */
++ #if defined (READLINE)
++ if (RL_ISSTATE (RL_STATE_TERMPREPPED) && rl_deprep_term_function)
++ (*rl_deprep_term_function) ();
++ #endif
++ if (read_tty_modified ())
++ read_tty_cleanup ();
++
+ /* Do trap[0] if defined. Allow it to override the exit status
+ passed to us. */
+*** ../bash-4.3-patched/builtins/read.def 2014-10-01 12:57:38.000000000 -0400
+--- builtins/read.def 2014-12-22 10:48:54.000000000 -0500
+***************
+*** 141,148 ****
+ int sigalrm_seen;
+
+! static int reading;
+ static SigHandler *old_alrm;
+ static unsigned char delim;
+
+ /* In all cases, SIGALRM just sets a flag that we check periodically. This
+ avoids problems with the semi-tricky stuff we do with the xfree of
+--- 141,150 ----
+ int sigalrm_seen;
+
+! static int reading, tty_modified;
+ static SigHandler *old_alrm;
+ static unsigned char delim;
+
++ static struct ttsave termsave;
++
+ /* In all cases, SIGALRM just sets a flag that we check periodically. This
+ avoids problems with the semi-tricky stuff we do with the xfree of
+***************
+*** 189,193 ****
+ SHELL_VAR *var;
+ TTYSTRUCT ttattrs, ttset;
+- struct ttsave termsave;
+ #if defined (ARRAY_VARS)
+ WORD_LIST *alist;
+--- 191,194 ----
+***************
+*** 222,226 ****
+ USE_VAR(lastsig);
+
+! sigalrm_seen = reading = 0;
+
+ i = 0; /* Index into the string that we are reading. */
+--- 223,227 ----
+ USE_VAR(lastsig);
+
+! sigalrm_seen = reading = tty_modified = 0;
+
+ i = 0; /* Index into the string that we are reading. */
+***************
+*** 439,442 ****
+--- 440,445 ----
+ goto assign_vars;
+ }
++ if (interactive_shell == 0)
++ initialize_terminating_signals ();
+ old_alrm = set_signal_handler (SIGALRM, sigalrm);
+ add_unwind_protect (reset_alarm, (char *)NULL);
+***************
+*** 483,487 ****
+--- 486,493 ----
+ if (i < 0)
+ sh_ttyerror (1);
++ tty_modified = 1;
+ add_unwind_protect ((Function *)ttyrestore, (char *)&termsave);
++ if (interactive_shell == 0)
++ initialize_terminating_signals ();
+ }
+ }
+***************
+*** 498,502 ****
+--- 504,511 ----
+ sh_ttyerror (1);
+
++ tty_modified = 1;
+ add_unwind_protect ((Function *)ttyrestore, (char *)&termsave);
++ if (interactive_shell == 0)
++ initialize_terminating_signals ();
+ }
+
+***************
+*** 589,592 ****
+--- 598,603 ----
+ else
+ lastsig = 0;
++ if (terminating_signal && tty_modified)
++ ttyrestore (&termsave); /* fix terminal before exiting */
+ CHECK_TERMSIG;
+ eof = 1;
+***************
+*** 979,982 ****
+--- 990,1007 ----
+ {
+ ttsetattr (ttp->fd, ttp->attrs);
++ tty_modified = 0;
++ }
++
++ void
++ read_tty_cleanup ()
++ {
++ if (tty_modified)
++ ttyrestore (&termsave);
++ }
++
++ int
++ read_tty_modified ()
++ {
++ return (tty_modified);
+ }
+
+*** ../bash-4.3-patched/builtins/common.h 2014-10-01 12:57:47.000000000 -0400
+--- builtins/common.h 2014-12-22 10:10:14.000000000 -0500
+***************
+*** 123,126 ****
+--- 141,148 ----
+ extern void getopts_reset __P((int));
+
++ /* Functions from read.def */
++ extern void read_tty_cleanup __P((void));
++ extern int read_tty_modified __P((void));
++
+ /* Functions from set.def */
+ extern int minus_o_option_value __P((char *));
+*** ../bash-4.3-patched/bashline.c 2014-05-14 09:22:39.000000000 -0400
+--- bashline.c 2014-09-08 11:28:56.000000000 -0400
+***************
+*** 203,206 ****
+--- 203,207 ----
+ extern int array_needs_making;
+ extern int posixly_correct, no_symbolic_links;
++ extern int sigalrm_seen;
+ extern char *current_prompt_string, *ps1_prompt;
+ extern STRING_INT_ALIST word_token_alist[];
+***************
+*** 4209,4214 ****
+ /* If we're going to longjmp to top_level, make sure we clean up readline.
+ check_signals will call QUIT, which will eventually longjmp to top_level,
+! calling run_interrupt_trap along the way. */
+! if (interrupt_state)
+ rl_cleanup_after_signal ();
+ bashline_reset_event_hook ();
+--- 4262,4268 ----
+ /* If we're going to longjmp to top_level, make sure we clean up readline.
+ check_signals will call QUIT, which will eventually longjmp to top_level,
+! calling run_interrupt_trap along the way. The check for sigalrm_seen is
+! to clean up the read builtin's state. */
+! if (terminating_signal || interrupt_state || sigalrm_seen)
+ rl_cleanup_after_signal ();
+ bashline_reset_event_hook ();
+*** ../bash-4.3-patched/sig.c 2014-01-10 15:06:06.000000000 -0500
+--- sig.c 2014-09-08 11:26:33.000000000 -0400
+***************
+*** 533,538 ****
+ /* Set the event hook so readline will call it after the signal handlers
+ finish executing, so if this interrupted character input we can get
+! quick response. */
+! if (interactive_shell && interactive && no_line_editing == 0)
+ bashline_set_event_hook ();
+ #endif
+--- 533,540 ----
+ /* Set the event hook so readline will call it after the signal handlers
+ finish executing, so if this interrupted character input we can get
+! quick response. If readline is active or has modified the terminal we
+! need to set this no matter what the signal is, though the check for
+! RL_STATE_TERMPREPPED is possibly redundant. */
+! if (RL_ISSTATE (RL_STATE_SIGHANDLER) || RL_ISSTATE (RL_STATE_TERMPREPPED))
+ bashline_set_event_hook ();
+ #endif
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 32
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 33
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-034 b/source/a/bash/bash-4.3-patches/bash43-034
new file mode 100644
index 000000000..17372aa2a
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-034
@@ -0,0 +1,90 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-034
+
+Bug-Reported-by: Dreamcat4 <dreamcat4@gmail.com>
+Bug-Reference-ID: <CAN39uTpAEs2GFu4ebC_SfSVMRTh-DJ9YanrY4BZZ3OO+CCHjng@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-05/msg00001.html
+
+Bug-Description:
+
+If neither the -f nor -v options is supplied to unset, and a name argument is
+found to be a function and unset, subsequent name arguments are not treated as
+variables before attempting to unset a function by that name.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/builtins/set.def 2013-04-19 07:20:34.000000000 -0400
+--- builtins/set.def 2015-05-05 13:25:36.000000000 -0400
+***************
+*** 752,758 ****
+--- 797,805 ----
+ {
+ int unset_function, unset_variable, unset_array, opt, nameref, any_failed;
++ int global_unset_func, global_unset_var;
+ char *name;
+
+ unset_function = unset_variable = unset_array = nameref = any_failed = 0;
++ global_unset_func = global_unset_var = 0;
+
+ reset_internal_getopt ();
+***************
+*** 762,769 ****
+ {
+ case 'f':
+! unset_function = 1;
+ break;
+ case 'v':
+! unset_variable = 1;
+ break;
+ case 'n':
+--- 809,816 ----
+ {
+ case 'f':
+! global_unset_func = 1;
+ break;
+ case 'v':
+! global_unset_var = 1;
+ break;
+ case 'n':
+***************
+*** 778,782 ****
+ list = loptend;
+
+! if (unset_function && unset_variable)
+ {
+ builtin_error (_("cannot simultaneously unset a function and a variable"));
+--- 825,829 ----
+ list = loptend;
+
+! if (global_unset_func && global_unset_var)
+ {
+ builtin_error (_("cannot simultaneously unset a function and a variable"));
+***************
+*** 796,799 ****
+--- 843,849 ----
+ name = list->word->word;
+
++ unset_function = global_unset_func;
++ unset_variable = global_unset_var;
++
+ #if defined (ARRAY_VARS)
+ unset_array = 0;
+
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 33
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 34
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-035 b/source/a/bash/bash-4.3-patches/bash43-035
new file mode 100644
index 000000000..f18bc6026
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-035
@@ -0,0 +1,63 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-035
+
+Bug-Reported-by: <romerox.adrian@gmail.com>
+Bug-Reference-ID: <CABV5r3zhPXmSKUe9uedeGc5YFBM2njJ1iVmY2h5neWdQpDBQug@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-08/msg00045.html
+
+Bug-Description:
+
+A locale with a long name can trigger a buffer overflow and core dump. This
+applies on systems that do not have locale_charset in libc, are not using
+GNU libiconv, and are not using the libintl that ships with bash in lib/intl.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/lib/sh/unicode.c 2014-01-30 16:47:19.000000000 -0500
+--- lib/sh/unicode.c 2015-05-01 08:58:30.000000000 -0400
+***************
+*** 79,83 ****
+ if (s)
+ {
+! strcpy (charsetbuf, s+1);
+ t = strchr (charsetbuf, '@');
+ if (t)
+--- 79,84 ----
+ if (s)
+ {
+! strncpy (charsetbuf, s+1, sizeof (charsetbuf) - 1);
+! charsetbuf[sizeof (charsetbuf) - 1] = '\0';
+ t = strchr (charsetbuf, '@');
+ if (t)
+***************
+*** 85,89 ****
+ return charsetbuf;
+ }
+! strcpy (charsetbuf, locale);
+ return charsetbuf;
+ }
+--- 86,91 ----
+ return charsetbuf;
+ }
+! strncpy (charsetbuf, locale, sizeof (charsetbuf) - 1);
+! charsetbuf[sizeof (charsetbuf) - 1] = '\0';
+ return charsetbuf;
+ }
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 34
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 35
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-036 b/source/a/bash/bash-4.3-patches/bash43-036
new file mode 100644
index 000000000..5b42c246c
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-036
@@ -0,0 +1,57 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-036
+
+Bug-Reported-by: emanuelczirai@cryptolab.net
+Bug-Reference-ID: <f962e4f556da5ebfadaf7afe9c78a8cb@cryptolab.net>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-02/msg00071.html
+
+Bug-Description:
+
+When evaluating and setting integer variables, and the assignment fails to
+create a variable (for example, when performing an operation on an array
+variable with an invalid subscript), bash attempts to dereference a null
+pointer, causing a segmentation violation.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-20150206/variables.c 2015-01-23 20:39:27.000000000 -0500
+--- variables.c 2015-02-19 13:56:12.000000000 -0500
+***************
+*** 2834,2841 ****
+ v = bind_variable (lhs, rhs, 0);
+
+! if (v && isint)
+! VSETATTR (v, att_integer);
+!
+! VUNSETATTR (v, att_invisible);
+
+ return (v);
+--- 2834,2843 ----
+ v = bind_variable (lhs, rhs, 0);
+
+! if (v)
+! {
+! if (isint)
+! VSETATTR (v, att_integer);
+! VUNSETATTR (v, att_invisible);
+! }
+
+ return (v);
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 35
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 36
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-037 b/source/a/bash/bash-4.3-patches/bash43-037
new file mode 100644
index 000000000..f04012bad
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-037
@@ -0,0 +1,43 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-037
+
+Bug-Reported-by: Greg Wooledge <wooledg@eeg.ccf.org>
+Bug-Reference-ID: <20150204144240.GN13956@eeg.ccf.org>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-02/msg00007.html
+
+Bug-Description:
+
+If an associative array uses `@' or `*' as a subscript, `declare -p' produces
+output that cannot be reused as input.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/assoc.c 2011-11-05 16:39:05.000000000 -0400
+--- assoc.c 2015-02-04 15:28:25.000000000 -0500
+***************
+*** 437,440 ****
+--- 440,445 ----
+ if (sh_contains_shell_metas (tlist->key))
+ istr = sh_double_quote (tlist->key);
++ else if (ALL_ELEMENT_SUB (tlist->key[0]) && tlist->key[1] == '\0')
++ istr = sh_double_quote (tlist->key);
+ else
+ istr = tlist->key;
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 36
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 37
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-038 b/source/a/bash/bash-4.3-patches/bash43-038
new file mode 100644
index 000000000..e0de74e08
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-038
@@ -0,0 +1,88 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-038
+
+Bug-Reported-by: worley@alum.mit.edu (Dale R. Worley)
+Bug-Reference-ID: <201406100051.s5A0pCeB014978@hobgoblin.ariadne.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-06/msg00028.html
+
+Bug-Description:
+
+There are a number of instances where `time' is not recognized as a reserved
+word when the shell grammar says it should be.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/parse.y 2014-04-07 11:56:12.000000000 -0400
+--- parse.y 2014-06-11 10:25:53.000000000 -0400
+***************
+*** 2819,2827 ****
+ case OR_OR:
+ case '&':
+ case DO:
+ case THEN:
+ case ELSE:
+ case '{': /* } */
+! case '(': /* ) */
+ case BANG: /* ! time pipeline */
+ case TIME: /* time time pipeline */
+--- 2819,2832 ----
+ case OR_OR:
+ case '&':
++ case WHILE:
+ case DO:
++ case UNTIL:
++ case IF:
+ case THEN:
++ case ELIF:
+ case ELSE:
+ case '{': /* } */
+! case '(': /* )( */
+! case ')': /* only valid in case statement */
+ case BANG: /* ! time pipeline */
+ case TIME: /* time time pipeline */
+*** ../bash-4.3-patched/y.tab.c 2014-10-05 13:52:50.000000000 -0400
+--- y.tab.c 2015-05-19 15:08:43.000000000 -0400
+***************
+*** 5131,5139 ****
+ case OR_OR:
+ case '&':
+ case DO:
+ case THEN:
+ case ELSE:
+ case '{': /* } */
+! case '(': /* ) */
+ case BANG: /* ! time pipeline */
+ case TIME: /* time time pipeline */
+--- 5131,5144 ----
+ case OR_OR:
+ case '&':
++ case WHILE:
+ case DO:
++ case UNTIL:
++ case IF:
+ case THEN:
++ case ELIF:
+ case ELSE:
+ case '{': /* } */
+! case '(': /* )( */
+! case ')': /* only valid in case statement */
+ case BANG: /* ! time pipeline */
+ case TIME: /* time time pipeline */
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 37
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 38
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-039 b/source/a/bash/bash-4.3-patches/bash43-039
new file mode 100644
index 000000000..e5e388707
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-039
@@ -0,0 +1,57 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-039
+
+Bug-Reported-by: SN <poczta-sn@gazeta.pl>
+Bug-Reference-ID: <54E2554C.205@gazeta.pl>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-02/msg00060.html
+
+Bug-Description:
+
+Using the output of `declare -p' when run in a function can result in variables
+that are invisible to `declare -p'. This problem occurs when an assignment
+builtin such as `declare' receives a quoted compound array assignment as one of
+its arguments.
+
+Patch (apply with `patch -p0'):
+
+*** /usr/src/local/bash/bash-4.3-patched/arrayfunc.c 2014-10-01 13:08:48.000000000 -0400
+--- arrayfunc.c 2015-02-19 14:33:05.000000000 -0500
+***************
+*** 405,408 ****
+--- 405,411 ----
+ else
+ array_insert (a, i, l->word->word);
++
++ VUNSETATTR (var, att_invisible); /* no longer invisible */
++
+ return var;
+ }
+***************
+*** 635,638 ****
+--- 638,645 ----
+ if (nlist)
+ dispose_words (nlist);
++
++ if (var)
++ VUNSETATTR (var, att_invisible); /* no longer invisible */
++
+ return (var);
+ }
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 38
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 39
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-040 b/source/a/bash/bash-4.3-patches/bash43-040
new file mode 100644
index 000000000..978ce1cd5
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-040
@@ -0,0 +1,47 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-040
+
+Bug-Reported-by: Jean Delvare <jdelvare@suse.de>
+Bug-Reference-ID: <20150609180231.5f463695@endymion.delvare>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-06/msg00033.html
+
+Bug-Description:
+
+There is a memory leak that occurs when bash expands an array reference on
+the rhs of an assignment statement.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/subst.c 2014-10-01 12:57:47.000000000 -0400
+--- subst.c 2015-06-22 09:16:53.000000000 -0400
+***************
+*** 5783,5787 ****
+ if (pflags & PF_ASSIGNRHS)
+ {
+! temp = array_variable_name (name, &tt, (int *)0);
+ if (ALL_ELEMENT_SUB (tt[0]) && tt[1] == ']')
+ temp = array_value (name, quoted|Q_DOUBLE_QUOTES, 0, &atype, &ind);
+--- 5783,5787 ----
+ if (pflags & PF_ASSIGNRHS)
+ {
+! var = array_variable_part (name, &tt, (int *)0);
+ if (ALL_ELEMENT_SUB (tt[0]) && tt[1] == ']')
+ temp = array_value (name, quoted|Q_DOUBLE_QUOTES, 0, &atype, &ind);
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 39
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 40
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-041 b/source/a/bash/bash-4.3-patches/bash43-041
new file mode 100644
index 000000000..a040a2ac5
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-041
@@ -0,0 +1,72 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-041
+
+Bug-Reported-by: Hanno Böck <hanno@hboeck.de>
+Bug-Reference-ID: <20150623131106.6f111da9@pc1>, <20150707004640.0e61d2f9@pc1>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-06/msg00089.html,
+ http://lists.gnu.org/archive/html/bug-bash/2015-07/msg00018.html
+
+Bug-Description:
+
+There are several out-of-bounds read errors that occur when completing command
+lines where assignment statements appear before the command name. The first
+two appear only when programmable completion is enabled; the last one only
+happens when listing possible completions.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3.40/bashline.c 2014-12-29 14:39:43.000000000 -0500
+--- bashline.c 2015-08-12 10:21:58.000000000 -0400
+***************
+*** 1469,1476 ****
+--- 1469,1489 ----
+ os = start;
+ n = 0;
++ was_assignment = 0;
+ s = find_cmd_start (os);
+ e = find_cmd_end (end);
+ do
+ {
++ /* Don't read past the end of rl_line_buffer */
++ if (s > rl_end)
++ {
++ s1 = s = e1;
++ break;
++ }
++ /* Or past point if point is within an assignment statement */
++ else if (was_assignment && s > rl_point)
++ {
++ s1 = s = e1;
++ break;
++ }
+ /* Skip over assignment statements preceding a command name. If we
+ don't find a command name at all, we can perform command name
+*** ../bash-4.3.40/lib/readline/complete.c 2013-10-14 09:27:10.000000000 -0400
+--- lib/readline/complete.c 2015-07-31 09:34:39.000000000 -0400
+***************
+*** 690,693 ****
+--- 690,695 ----
+ if (temp == 0 || *temp == '\0')
+ return (pathname);
++ else if (temp[1] == 0 && temp == pathname)
++ return (pathname);
+ /* If the basename is NULL, we might have a pathname like '/usr/src/'.
+ Look for a previous slash and, if one is found, return the portion
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 40
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 41
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-042 b/source/a/bash/bash-4.3-patches/bash43-042
new file mode 100644
index 000000000..cc3e17c6f
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-042
@@ -0,0 +1,55 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-042
+
+Bug-Reported-by: Nathan Neulinger <nneul@neulinger.org>
+Bug-Reference-ID: <558EFDF2.7060402@neulinger.org>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-06/msg00096.html
+
+Bug-Description:
+
+There is a problem when parsing command substitutions containing `case'
+commands within pipelines that causes the parser to not correctly identify
+the end of the command substitution.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/parse.y 2015-05-18 19:27:05.000000000 -0400
+--- parse.y 2015-06-29 10:59:27.000000000 -0400
+***************
+*** 3709,3712 ****
+--- 3709,3714 ----
+ tflags |= LEX_INWORD;
+ lex_wlen = 0;
++ if (tflags & LEX_RESWDOK)
++ lex_rwlen = 0;
+ }
+ }
+*** ../bash-4.3-patched/parse.y 2015-05-18 19:27:05.000000000 -0400
+--- y.tab.c 2015-06-29 10:59:27.000000000 -0400
+***************
+*** 6021,6024 ****
+--- 6021,6026 ----
+ tflags |= LEX_INWORD;
+ lex_wlen = 0;
++ if (tflags & LEX_RESWDOK)
++ lex_rwlen = 0;
+ }
+ }
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 41
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 42
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-043 b/source/a/bash/bash-4.3-patches/bash43-043
new file mode 100644
index 000000000..ad82c2925
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-043
@@ -0,0 +1,59 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-043
+
+Bug-Reported-by: lolilolicon <lolilolicon@gmail.com>
+Bug-Reference-ID: <CAMtVo_MF16KWanCB4C8WxA88Qt26zWsvV6V7+_U2fM0E6tCDxw@mail.gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-08/msg00040.html
+
+Bug-Description:
+
+When the lastpipe option is enabled, the last component can contain nested
+pipelines and cause a segmentation fault under certain circumestances.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-4.3-patched/execute_cmd.c 2014-07-30 10:26:52.000000000 -0400
+--- execute_cmd.c 2014-08-15 08:55:24.000000000 -0400
+***************
+*** 2406,2412 ****
+ {
+ #if defined (JOB_CONTROL)
+! append_process (savestring (the_printed_command), dollar_dollar_pid, exec_result, lastpipe_jid);
+! #endif
+ lstdin = wait_for (lastpid);
+ #if defined (JOB_CONTROL)
+ /* If wait_for removes the job from the jobs table, use result of last
+--- 2433,2447 ----
+ {
+ #if defined (JOB_CONTROL)
+! if (INVALID_JOB (lastpipe_jid) == 0)
+! {
+! append_process (savestring (the_printed_command_except_trap), dollar_dollar_pid, exec_result, lastpipe_jid);
+! lstdin = wait_for (lastpid);
+! }
+! else
+! lstdin = wait_for_single_pid (lastpid); /* checks bgpids list */
+! #else
+ lstdin = wait_for (lastpid);
++ #endif
++
+ #if defined (JOB_CONTROL)
+ /* If wait_for removes the job from the jobs table, use result of last
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 42
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 43
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-044 b/source/a/bash/bash-4.3-patches/bash43-044
new file mode 100644
index 000000000..d8f1ce072
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-044
@@ -0,0 +1,48 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-044
+
+Bug-Reported-by: Ondrej Oprala <ooprala@redhat.com>
+Bug-Reference-ID: <539ED55B.2080103@redhat.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2014-06/msg00046.html
+
+Bug-Description:
+
+A typo prevents the `compat42' shopt option from working as intended.
+
+Patch (apply with `patch -p0'):
+
+diff -rC 2 bash-4.3.42/builtins/shopt.def bash-4.3.43/builtins/shopt.def
+*** bash-4.3.42/builtins/shopt.def 2013-02-27 09:43:20.000000000 -0500
+--- builtins/shopt.def 2015-10-16 11:25:28.000000000 -0400
+***************
+*** 161,165 ****
+ { "compat40", &shopt_compat40, set_compatibility_level },
+ { "compat41", &shopt_compat41, set_compatibility_level },
+! { "compat42", &shopt_compat41, set_compatibility_level },
+ #if defined (READLINE)
+ { "complete_fullquote", &complete_fullquote, (shopt_set_func_t *)NULL},
+--- 161,165 ----
+ { "compat40", &shopt_compat40, set_compatibility_level },
+ { "compat41", &shopt_compat41, set_compatibility_level },
+! { "compat42", &shopt_compat42, set_compatibility_level },
+ #if defined (READLINE)
+ { "complete_fullquote", &complete_fullquote, (shopt_set_func_t *)NULL},
+
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 43
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 44
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-045 b/source/a/bash/bash-4.3-patches/bash43-045
new file mode 100644
index 000000000..25dc3587a
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-045
@@ -0,0 +1,52 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-045
+
+Bug-Reported-by: Basin Ilya <basinilya@gmail.com>
+Bug-Reference-ID: <5624C0AC.8070802@gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-10/msg00141.html
+
+Bug-Description:
+
+If a file open attempted as part of a redirection fails because it is interrupted
+by a signal, the shell needs to process any pending traps to allow the redirection
+to be canceled.
+
+Patch (apply with `patch -p0'):
+
+*** bash-20150109/redir.c 2014-12-03 10:47:38.000000000 -0500
+--- redir.c 2015-01-16 10:15:47.000000000 -0500
+***************
+*** 672,676 ****
+ e = errno;
+ if (fd < 0 && e == EINTR)
+! QUIT;
+ errno = e;
+ }
+--- 672,679 ----
+ e = errno;
+ if (fd < 0 && e == EINTR)
+! {
+! QUIT;
+! run_pending_traps ();
+! }
+ errno = e;
+ }
+
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 44
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 45
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-4.3-patches/bash43-046 b/source/a/bash/bash-4.3-patches/bash43-046
new file mode 100644
index 000000000..bea3970a2
--- /dev/null
+++ b/source/a/bash/bash-4.3-patches/bash43-046
@@ -0,0 +1,55 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 4.3
+Patch-ID: bash43-046
+
+Bug-Reported-by: Sergey Tselikh <stselikh@gmail.com>
+Bug-Reference-ID: <20150816110235.91f3e12e3f20d20cdaad963e@gmail.com>
+Bug-Reference-URL: http://lists.gnu.org/archive/html/bug-bash/2015-08/msg00080.html
+
+Bug-Description:
+
+An incorrect conversion from an indexed to associative array can result in a
+core dump.
+
+Patch (apply with `patch -p0'):
+
+*** /fs2/chet/bash/bash-20150813/subst.c 2015-08-13 11:32:54.000000000 -0400
+--- subst.c 2015-08-18 10:13:59.000000000 -0400
+***************
+*** 9562,9566 ****
+ opts[opti] = '\0';
+ if (opti > 0)
+! make_internal_declare (tlist->word->word, opts);
+
+ t = do_word_assignment (tlist->word, 0);
+--- 9562,9573 ----
+ opts[opti] = '\0';
+ if (opti > 0)
+! {
+! t = make_internal_declare (tlist->word->word, opts);
+! if (t != EXECUTION_SUCCESS)
+! {
+! last_command_exit_value = t;
+! exp_jump_to_top_level (DISCARD);
+! }
+! }
+
+ t = do_word_assignment (tlist->word, 0);
+
+*** ../bash-4.3/patchlevel.h 2012-12-29 10:47:57.000000000 -0500
+--- patchlevel.h 2014-03-20 20:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 45
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 46
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash.SlackBuild b/source/a/bash/bash.SlackBuild
index ecd37b3c1..69649b761 100755
--- a/source/a/bash/bash.SlackBuild
+++ b/source/a/bash/bash.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2005-2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2005-2015 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -37,7 +37,7 @@ BUILD=${BUILD:-1}
MARCH=$( uname -m )
if [ -z "$ARCH" ]; then
case "$MARCH" in
- i?86) export ARCH=i486 ;;
+ i?86) export ARCH=i586 ;;
armv7hl) export ARCH=$MARCH ;;
arm*) export ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
@@ -45,10 +45,12 @@ if [ -z "$ARCH" ]; then
esac
fi
-if [ "$ARCH" = "i386" ]; then
- SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
-elif [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
elif [ "$ARCH" = "x86_64" ]; then
@@ -98,10 +100,10 @@ CFLAGS="$SLKCFLAGS" \
--prefix=/usr \
--mandir=/usr/man \
--infodir=/usr/info \
- --build=$TARGET
+ --build=$TARGET || exit 1
-make -j4 || make || exit 1
-make install DESTDIR=$PKG
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
mv $PKG/usr/share/doc $PKG/usr
mkdir -p $PKG/bin
mv $PKG/usr/bin/bash $PKG/bin/bash4.new
@@ -145,8 +147,8 @@ if [ -d $PKG/usr/info ]; then
fi
mkdir -p $PKG/usr/doc/bash-$VERSION
-cp -a AUTHORS CHANGES COMPAT COPYING INSTALL MANIFEST NEWS NOTES \
- README Y2K doc/FAQ doc/INTRO \
+cp -a AUTHORS CHANGES COMPAT COPYING* INSTALL MANIFEST NEWS NOTES \
+ README* Y2K doc/FAQ doc/INTRO \
$PKG/usr/doc/bash-$VERSION
( cd doc ; groff -ms -Tascii article.ms > $PKG/usr/doc/bash-$VERSION/article.txt )
diff --git a/source/a/btrfs-progs/btrfs-progs-v4.5.3.tar.sign b/source/a/btrfs-progs/btrfs-progs-v4.5.3.tar.sign
new file mode 100644
index 000000000..008c3f67e
--- /dev/null
+++ b/source/a/btrfs-progs/btrfs-progs-v4.5.3.tar.sign
Binary files differ
diff --git a/source/a/btrfs-progs/btrfs-progs.SlackBuild b/source/a/btrfs-progs/btrfs-progs.SlackBuild
index 710c7eba2..fb901dbaf 100755
--- a/source/a/btrfs-progs/btrfs-progs.SlackBuild
+++ b/source/a/btrfs-progs/btrfs-progs.SlackBuild
@@ -1,5 +1,5 @@
#!/bin/sh
-# Copyright 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2009, 2010, 2011, 2015 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -36,12 +36,12 @@ if ! /bin/ls $CWD/btrfs-progs*tar* 1> /dev/null 2> /dev/null ; then
rm -r $CWD/btrfs-progs
fi
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | cut -f 3 -d - | cut -f 1 -d .)}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 ) ;;
@@ -56,9 +56,9 @@ rm -rf $PKG
mkdir -p $PKG
cd $TMP
-rm -rf btrfs-progs
+rm -rf btrfs-progs btrfs-progs-$VERSION
tar xf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
-cd btrfs-progs
+cd btrfs-progs-$VERSION || cd btrfs-progs || exit 1
# Make sure ownerships and permissions are sane:
chown -R root:root .
@@ -74,10 +74,20 @@ find . -perm 511 -exec chmod 755 {} \;
find . -perm 711 -exec chmod 755 {} \;
find . -perm 555 -exec chmod 755 {} \;
-# Build:
+# Configure:
+CFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --bindir=/sbin \
+ --sysconfdir=/etc \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --build=$ARCH-slackware-linux
+
+# Build and install:
make $NUMJOBS || make || exit 1
-
-# Install:
make install DESTDIR=$PKG || exit 1
# Strip binaries:
@@ -86,16 +96,16 @@ make install DESTDIR=$PKG || exit 1
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
)
-# Move stuff out of /usr/local:
-mv $PKG/usr/local/bin $PKG/sbin
-mv $PKG/usr/local/man $PKG/usr/man
+# Move manpages:
+mv $PKG/usr/share/man $PKG/usr/man
+rmdir $PKG/usr/share
-# Do not ship libraries/include files.
+# Do not ship libraries.
# If there becomes a use for these outside of btrfs-progs, let me know.
-rm -rf $PKG/usr/local
+rm -rf $PKG/usr/lib
# According to https://btrfs.wiki.kernel.org/index.php/FAQ#When_will_Btrfs_have_a_fsck_like_tool.3F
-# it is not recommended to make fsck.btrfs a no-op by linking it to /bin/true:
+# it is safe and recommended to make fsck.btrfs a no-op by linking it to /bin/true:
ln -sf /bin/true $PKG/sbin/fsck.btrfs
# Compress and link manpages, if any:
@@ -103,7 +113,7 @@ 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
+ for eachpage in $( find . -type l -maxdepth 1 | grep -v '\.gz$') ; do
ln -s $( readlink $eachpage ).gz $eachpage.gz
rm $eachpage
done
diff --git a/source/a/btrfs-progs/btrfs-progs.url b/source/a/btrfs-progs/btrfs-progs.url
new file mode 100644
index 000000000..c5bba3af5
--- /dev/null
+++ b/source/a/btrfs-progs/btrfs-progs.url
@@ -0,0 +1 @@
+ftp://ftp.kernel.org/pub/linux/kernel/people/kdave/btrfs-progs
diff --git a/source/a/coreutils/coreutils.SlackBuild b/source/a/coreutils/coreutils.SlackBuild
index 3bd8e5211..a085e605f 100755
--- a/source/a/coreutils/coreutils.SlackBuild
+++ b/source/a/coreutils/coreutils.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2005-2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2005-2016 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,14 +22,14 @@
PKGNAM=coreutils
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | cut -d - -f 2 | rev | cut -f 3- -d . | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:--j6}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 ) ;;
@@ -40,8 +40,8 @@ CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-$PKGNAM
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
@@ -88,6 +88,9 @@ find . \
# Patch uname to correctly display CPU information:
zcat $CWD/$PKGNAM.uname.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
+# Revert change to ls quoting style introduced in coreutils-8.25:
+zcat $CWD/no_ls_quoting.patch.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
+
# Compilation with glibc version later than 2.3.2 needs the environment
# variable DEFAULT_POSIX2_VERSION set to 199209.
# Without that line, the coreutils will start complaining about 'obsolete'
@@ -107,6 +110,7 @@ DEFAULT_POSIX2_VERSION=199209 \
--sysconfdir=/etc \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--without-gmp \
+ --enable-install-program=arch \
--build=$ARCH-slackware-linux
make $NUMJOBS || make || exit 1
@@ -131,6 +135,9 @@ mv $PKG/usr/man/man1/mktemp.1 $PKG/usr/man/man1/mktemp-gnu.1
# Oh well, this is what we've done for years, and nobody's complained...
rm -rf $PKG/usr/share/locale/*/LC_TIME
+# Move "arch" to /bin
+mv $PKG/usr/bin/arch $PKG/bin
+
# These are important enough that they should probably all go into /bin at this
# point... Having some of them unavailable when /usr isn't mounted is just a
# source of unending bug reports for various third party applications.
diff --git a/source/a/coreutils/doinst.sh b/source/a/coreutils/doinst.sh
index b1a6112ff..73403aa5b 100644
--- a/source/a/coreutils/doinst.sh
+++ b/source/a/coreutils/doinst.sh
@@ -11,3 +11,6 @@ config() {
}
config etc/DIR_COLORS.new
+# This is needed to prevent installpkg from trippping over itself:
+PATH=/bin:$PATH
+
diff --git a/source/a/coreutils/no_ls_quoting.patch b/source/a/coreutils/no_ls_quoting.patch
new file mode 100644
index 000000000..bfc9d0187
--- /dev/null
+++ b/source/a/coreutils/no_ls_quoting.patch
@@ -0,0 +1,41 @@
+Description: revert inconsistent ls quoting
+ This is a revert of upstream commit 109b9220cead6e979d22d16327c4d9f8350431cc.
+ Info changed to reflect current upstream intentions.
+
+Bug-Debian: https://bugs.debian.org/813164
+
+--- coreutils-8.25.orig/NEWS
++++ coreutils-8.25/NEWS
+@@ -71,9 +71,6 @@ GNU coreutils NEWS
+ df now prefers sources towards the root of a device when
+ eliding duplicate bind mounted entries.
+
+- ls now quotes file names unambiguously and appropriate for use in a shell,
+- when outputting to a terminal.
+-
+ join, sort, uniq with --zero-terminated, now treat '\n' as a field delimiter.
+
+ ** Improvements
+--- coreutils-8.25.orig/doc/coreutils.texi
++++ coreutils-8.25/doc/coreutils.texi
+@@ -7750,8 +7750,8 @@ this"} in the default C locale. This lo
+
+ You can specify the default value of the @option{--quoting-style} option
+ with the environment variable @env{QUOTING_STYLE}@. If that environment
+-variable is not set, the default value is @samp{shell-escape} when the
+-output is a terminal, and @samp{literal} otherwise.
++variable is not set, the default value is @samp{literal}, but this
++default may change to @samp{shell-escape} in a future version of this package.
+
+ @item --show-control-chars
+ @opindex --show-control-chars
+--- coreutils-8.25.orig/src/ls.c
++++ coreutils-8.25/src/ls.c
+@@ -1581,7 +1581,6 @@ decode_switches (int argc, char **argv)
+ if (isatty (STDOUT_FILENO))
+ {
+ format = many_per_line;
+- set_quoting_style (NULL, shell_escape_quoting_style);
+ /* See description of qmark_funny_chars, above. */
+ qmark_funny_chars = true;
+ }
diff --git a/source/a/cpio/cpio.32bit.crc.diff b/source/a/cpio/cpio.32bit.crc.diff
deleted file mode 100644
index 8ae94e983..000000000
--- a/source/a/cpio/cpio.32bit.crc.diff
+++ /dev/null
@@ -1,111 +0,0 @@
-From ccec71ec318fdf739f55858d5bffaf4fd6520036 Mon Sep 17 00:00:00 2001
-From: Sergey Poznyakoff <gray@gnu.org.ua>
-Date: Mon, 20 Feb 2012 17:51:27 +0000
-Subject: Always use 32 bit CRC
-
-* src/cpiohdr.h (cpio_file_stat) <c_chksum>: Change type to
-uint32_t.
-* src/extern.h (crc): Change type to uint32_t.
-* src/global.c: Likewise.
-* src/copyout.c (read_for_checksum): Return uint32_t.
-* src/copyin.c: Fix printf formats.
----
-diff --git a/src/copyin.c b/src/copyin.c
-index 3ab5dac..3282816 100644
---- a/src/copyin.c
-+++ b/src/copyin.c
-@@ -178,7 +178,7 @@ list_file(struct cpio_file_stat* file_hdr, int in_file_des)
- #endif
- if (crc != file_hdr->c_chksum)
- {
-- error (0, 0, _("%s: checksum error (0x%lx, should be 0x%lx)"),
-+ error (0, 0, _("%s: checksum error (0x%x, should be 0x%x)"),
- file_hdr->c_name, crc, file_hdr->c_chksum);
- }
- }
-@@ -525,7 +525,7 @@ copyin_regular_file (struct cpio_file_stat* file_hdr, int in_file_des)
- if (archive_format == arf_crcascii)
- {
- if (crc != file_hdr->c_chksum)
-- error (0, 0, _("%s: checksum error (0x%lx, should be 0x%lx)"),
-+ error (0, 0, _("%s: checksum error (0x%x, should be 0x%x)"),
- file_hdr->c_name, crc, file_hdr->c_chksum);
- }
- tape_skip_padding (in_file_des, file_hdr->c_filesize);
-@@ -540,7 +540,7 @@ copyin_regular_file (struct cpio_file_stat* file_hdr, int in_file_des)
- if (archive_format == arf_crcascii)
- {
- if (crc != file_hdr->c_chksum)
-- error (0, 0, _("%s: checksum error (0x%lx, should be 0x%lx)"),
-+ error (0, 0, _("%s: checksum error (0x%x, should be 0x%x)"),
- file_hdr->c_name, crc, file_hdr->c_chksum);
- }
-
-@@ -1436,7 +1436,7 @@ process_copy_in ()
- tape_skip_padding (in_file_des, file_hdr.c_filesize);
- if (crc != file_hdr.c_chksum)
- {
-- error (0, 0, _("%s: checksum error (0x%lx, should be 0x%lx)"),
-+ error (0, 0, _("%s: checksum error (0x%x, should be 0x%x)"),
- file_hdr.c_name, crc, file_hdr.c_chksum);
- }
- /* Debian hack: -v and -V now work with --only-verify-crc.
-diff --git a/src/copyout.c b/src/copyout.c
-index ab6a243..a5a8931 100644
---- a/src/copyout.c
-+++ b/src/copyout.c
-@@ -33,10 +33,10 @@
- /* Read FILE_SIZE bytes of FILE_NAME from IN_FILE_DES and
- compute and return a checksum for them. */
-
--static unsigned long
-+static uint32_t
- read_for_checksum (int in_file_des, int file_size, char *file_name)
- {
-- unsigned long crc;
-+ uint32_t crc;
- char buf[BUFSIZ];
- int bytes_left;
- int bytes_read;
-diff --git a/src/cpiohdr.h b/src/cpiohdr.h
-index 86ec988..9aa8ed9 100644
---- a/src/cpiohdr.h
-+++ b/src/cpiohdr.h
-@@ -123,7 +123,7 @@ struct cpio_file_stat /* Internal representation of a CPIO header */
- long c_rdev_maj;
- long c_rdev_min;
- size_t c_namesize;
-- unsigned long c_chksum;
-+ uint32_t c_chksum;
- char *c_name;
- char *c_tar_linkname;
- };
-diff --git a/src/extern.h b/src/extern.h
-index be329ae..ef00242 100644
---- a/src/extern.h
-+++ b/src/extern.h
-@@ -75,7 +75,7 @@ extern char *new_media_message_after_number;
- extern int archive_des;
- extern char *archive_name;
- extern char *rsh_command_option;
--extern unsigned long crc;
-+extern uint32_t crc;
- #ifdef DEBUG_CPIO
- extern int debug_flag;
- #endif
-diff --git a/src/global.c b/src/global.c
-index 29e7afc..e08e188 100644
---- a/src/global.c
-+++ b/src/global.c
-@@ -144,7 +144,7 @@ char *archive_name = NULL;
- char *rsh_command_option = NULL;
-
- /* CRC checksum. */
--unsigned long crc;
-+uint32_t crc;
-
- /* Input and output buffers. */
- char *input_buffer, *output_buffer;
---
-cgit v0.9.0.2
-
diff --git a/source/a/cpio/cpio.SlackBuild b/source/a/cpio/cpio.SlackBuild
index 5e3eea05a..b4b5f2590 100755
--- a/source/a/cpio/cpio.SlackBuild
+++ b/source/a/cpio/cpio.SlackBuild
@@ -22,12 +22,12 @@
PKGNAM=cpio
VERSION=$(ls $PKGNAM-*.tar.?z* | cut -d - -f 2 | rev | cut -f 3- -d . | rev)
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 ) ;;
@@ -43,11 +43,8 @@ PKG=$TMP/package-${PKGNAM}
rm -rf $PKG
mkdir -p $TMP $PKG
-if [ "$ARCH" = "i386" ]; then
- SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
@@ -62,8 +59,6 @@ rm -rf ${PKGNAM}-${VERSION}
tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z* || exit 1
cd ${PKGNAM}-$VERSION || exit 1
-zcat $CWD/cpio.32bit.crc.diff.gz | patch -p1 -F 3 --verbose || exit 1
-
# Make sure ownerships and permissions are sane:
chown -R root:root .
find . \
diff --git a/source/a/cryptsetup/cryptsetup-1.7.1.tar.sign b/source/a/cryptsetup/cryptsetup-1.7.1.tar.sign
new file mode 100644
index 000000000..11dcc071c
--- /dev/null
+++ b/source/a/cryptsetup/cryptsetup-1.7.1.tar.sign
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1
+
+iQIcBAABCAAGBQJW0vkJAAoJENmwV3vZPpj8aK4P/iU9gAadERsXEu7LkSYUhDhy
+PIQCpxl1ozRJZ6XaXKUeJi2EmB5TM9tCZeO8koVDet2wDRqJa6TCH1WHQijTJdnr
+XeEbuPEiX7n5g8GKsefu6lIZMY9NKnOsUoTD89PVMw2qzt78WbIKGh52t6QJUatk
+s+Ic8uKXUGzYGT735D8N2NVsaT+QpNgNMYaI92iU6jpFbtP5OSQU+3cFJSMSO8S2
+YqeLXAXnJ3mZl0koSqTSjgs+5b4+4Nv0mou/rYUOdg4h1vQiePvDOdTRye+/RQSG
+077X94M0w/GalSy8kzDiAZU7yC4H5WQDJQoy10ePJmPYhfo5MChmvMEtTkiiqEi7
+PMuoG1r77Dj/7x2VY4s4XY4ePCEEtBu2IEPzmJZPxM6oN6NPhBzPCctR4Ybn+d3o
+8x2vKVTkfqQAxwO5TLsSyDJSKSMI06AJbZDBSEJcX56r+gezyf11KFF0XaN1SjRQ
+VGJHkqhzfX8PCQe1JvsfhW3a/EpppUI13SlS16rvoqMvE7aZaOOR1TaBxgPvsINk
+BV210m4PKZYU4nqAbVgkJL5O8dFcbw0MFuYpQvazRQFAC/Dz+ta6R3gJ3H5Avsuw
+UYfqCQJ4b8t+X5e4yHoUyJXw8gIxdwmmcJMZXweBzP/7DxGsxxu+3kUnYJV4sRQg
+BD4YYLWuz+1a3iS7XD8u
+=0WaO
+-----END PGP SIGNATURE-----
diff --git a/source/a/cryptsetup/cryptsetup.SlackBuild b/source/a/cryptsetup/cryptsetup.SlackBuild
index 9b874e2a4..17d7444df 100755
--- a/source/a/cryptsetup/cryptsetup.SlackBuild
+++ b/source/a/cryptsetup/cryptsetup.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
-# Copyright (c) 2007, 2009, 2010 Eric Hameleers <alien@slackware.com>
-# Copyright (c) 2007, 2009, 2010 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright (c) 2007, 2009, 2010 Eric Hameleers <alien@slackware.com>
+# Copyright (c) 2007, 2009, 2010, 2015 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -33,21 +33,21 @@
# -----------------------------------------------------------------------------
PKGNAM=cryptsetup
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.bz2 | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
@@ -69,7 +69,7 @@ mkdir -p $TMP $PKG/usr
cd $TMP
rm -rf cryptsetup-$VERSION
-tar xvf $CWD/cryptsetup-$VERSION.tar.bz2 || exit 1
+tar xvf $CWD/cryptsetup-$VERSION.tar.xz || exit 1
cd cryptsetup-$VERSION
chown -R root:root .
find . \
diff --git a/source/a/cryptsetup/slack-desc b/source/a/cryptsetup/slack-desc
index 1dd4eeca9..ac525cb84 100644
--- a/source/a/cryptsetup/slack-desc
+++ b/source/a/cryptsetup/slack-desc
@@ -15,7 +15,7 @@ cryptsetup: LUKS for dm-crypt is now implemented in cryptsetup replacing the
cryptsetup: original cryptsetup. It provides all the functionally of the
cryptsetup: original version plus all LUKS features.
cryptsetup:
-cryptsetup: cryptsetup home: http://code.google.com/p/cryptsetup/
+cryptsetup: cryptsetup home: https://gitlab.com/cryptsetup/cryptsetup
cryptsetup:
diff --git a/source/a/cups/cups-1.5.4-usb-quirks.diff b/source/a/cups/cups-1.5.4-usb-quirks.diff
deleted file mode 100644
index dfe1dab8f..000000000
--- a/source/a/cups/cups-1.5.4-usb-quirks.diff
+++ /dev/null
@@ -1,319 +0,0 @@
-From efe932a075744c1cfdf755ce8fea0870fc38a1c8 Mon Sep 17 00:00:00 2001
-From: mancha <mancha1@hush.com>
-Date: Wed, 9 Oct 2013
-Subject: Backport usb fixes to CUPS 1.5.4
-
- usb-libusb.c | 152 +++++++++++++++++++++++++++++++++++++++++++++++++----------
- 1 file changed, 127 insertions(+), 25 deletions(-)
-
---- a/backend/usb-libusb.c 2012-07-16
-+++ b/backend/usb-libusb.c 2013-10-09
-@@ -13,7 +13,7 @@
- *
- * Contents:
- *
-- * list_devices() - List the available printers.
-+ * list_devices() - List the available printers.
- * print_device() - Print a file to a USB device.
- * close_device() - Close the connection to the USB printer.
- * find_device() - Find or enumerate USB printers.
-@@ -70,7 +70,7 @@ typedef struct usb_printer_s /**** USB
- read_endp, /* Read endpoint */
- protocol, /* Protocol: 1 = Uni-di, 2 = Bi-di. */
- usblp_attached, /* "usblp" kernel module attached? */
-- opened_for_job; /* Set to 1 by print_device() */
-+ reset_after_job; /* Set to 1 by print_device() */
- unsigned int quirks; /* Quirks flags */
- struct libusb_device_handle *handle; /* Open handle to device */
- } usb_printer_t;
-@@ -122,6 +122,9 @@ struct quirk_printer_struct {
- #define USBLP_QUIRK_USB_INIT 0x2 /* needs vendor USB init string */
- #define USBLP_QUIRK_BAD_CLASS 0x4 /* descriptor uses vendor-specific
- Class or SubClass */
-+#define USBLP_QUIRK_BLACKLIST 0x8 /* these printers do not conform to the USB print spec */
-+#define USBLP_QUIRK_RESET 0x4000 /* After printing do a reset
-+ for clean-up */
- #define USBLP_QUIRK_NO_REATTACH 0x8000 /* After printing we cannot re-attach
- the usblp kernel module */
-
-@@ -139,17 +142,97 @@ static const struct quirk_printer_struct
- { 0x0409, 0xbef4, USBLP_QUIRK_BIDIR }, /* NEC Picty760 (HP OEM) */
- { 0x0409, 0xf0be, USBLP_QUIRK_BIDIR }, /* NEC Picty920 (HP OEM) */
- { 0x0409, 0xf1be, USBLP_QUIRK_BIDIR }, /* NEC Picty800 (HP OEM) */
-+ { 0x043d, 0x00f3, USBLP_QUIRK_NO_REATTACH }, /* Lexmark International,
-+ Inc. (e250d), https://bugs.launchpad.net/bugs/1084164 */
-+ { 0x043d, 0x00d7, USBLP_QUIRK_NO_REATTACH }, /* Lexmark E328 */
- { 0x0482, 0x0010, USBLP_QUIRK_BIDIR }, /* Kyocera Mita FS 820,
- by zut <kernel@zut.de> */
-+ { 0x04a9, 0x1095, USBLP_QUIRK_BIDIR }, /* Canon, Inc. PIXMA iP6000D
-+ Printer, https://bugs.launchpad.net/bugs/1160638 */
-+ { 0x04a9, 0x10a2, USBLP_QUIRK_BIDIR }, /* Canon, Inc. PIXMA iP4200
-+ Printer, http://www.cups.org/str.php?L4155 */
-+ { 0x04a9, 0x10b6, USBLP_QUIRK_BIDIR }, /* Canon, Inc. PIXMA iP4300
-+ Printer, https://bugs.launchpad.net/bugs/1032385 */
-+ { 0x04a9, 0x1721, USBLP_QUIRK_BIDIR }, /* Canon, Inc. MP210
-+ https://bugzilla.redhat.com/show_bug.cgi?id=847923#c53 */
-+ { 0x04a9, 0x170c, USBLP_QUIRK_BIDIR }, /* Canon, Inc. MP500
-+ Printer, https://bugs.launchpad.net/bugs/1032456 */
-+ { 0x04a9, 0x1717, USBLP_QUIRK_BIDIR }, /* Canon, Inc. MP510
-+ Printer, https://bugs.launchpad.net/bugs/1050009 */
-+ { 0x04a9, 0x173d, USBLP_QUIRK_BIDIR }, /* Canon, Inc. MP550
-+ Printer, http://www.cups.org/str.php?L4155 */
-+ { 0x04a9, 0x173e, USBLP_QUIRK_BIDIR }, /* Canon, Inc. MP560
-+ Printer, http://www.cups.org/str.php?L4155 */
-+ { 0x04a9, 0x26a3, USBLP_QUIRK_NO_REATTACH }, /* Canon, Inc. MF4150
-+ Printer, https://bugs.launchpad.net/bugs/1160638 */
-+ { 0x04f9, 0x001a, USBLP_QUIRK_NO_REATTACH }, /* Brother Industries, Ltd
-+ HL-1430 Laser Printer,
-+ https://bugs.launchpad.net/bugs/1038695 */
- { 0x04f9, 0x000d, USBLP_QUIRK_BIDIR |
- USBLP_QUIRK_NO_REATTACH }, /* Brother Industries, Ltd
-- HL-1440 Laser Printer */
-+ HL-1440 Laser Printer,
-+ https://bugs.launchpad.net/bugs/1000253 */
-+ { 0x04f9, 0x000e, USBLP_QUIRK_BIDIR |
-+ USBLP_QUIRK_NO_REATTACH }, /* Brother Industries, Ltd
-+ HL-1450 Laser Printer,
-+ https://bugs.launchpad.net/bugs/1000253 */
-+ { 0x06bc, 0x000b, USBLP_QUIRK_NO_REATTACH }, /* Oki Data Corp.
-+ Okipage 14ex Printer,
-+ https://bugs.launchpad.net/bugs/872483 */
-+ { 0x06bc, 0x01c7, USBLP_QUIRK_NO_REATTACH }, /* Oki Data Corp. B410d,
-+ https://bugs.launchpad.net/bugs/872483 */
-+ { 0x04b8, 0x0001, USBLP_QUIRK_BIDIR |
-+ USBLP_QUIRK_NO_REATTACH }, /* Seiko Epson Corp. Stylus Color 740 / Photo 750,
-+ http://bugs.debian.org/697970 */
-+ { 0x04b8, 0x0005, USBLP_QUIRK_NO_REATTACH }, /* Seiko Epson Corp. Stylus Color 670,
-+ https://bugs.launchpad.net/bugs/872483 */
- { 0x04b8, 0x0202, USBLP_QUIRK_BAD_CLASS }, /* Seiko Epson Receipt
- Printer M129C */
- { 0x067b, 0x2305, USBLP_QUIRK_BIDIR |
-- USBLP_QUIRK_NO_REATTACH },
-+ USBLP_QUIRK_NO_REATTACH |
-+ USBLP_QUIRK_RESET },
- /* Prolific Technology, Inc. PL2305 Parallel Port
-- (USB -> Parallel adapter) */
-+ (USB -> Parallel adapter), https://bugs.launchpad.net/bugs/987485 */
-+ { 0x0924, 0x3ce9, USBLP_QUIRK_NO_REATTACH }, /* Xerox Phaser 3124
-+ https://bugzilla.redhat.com/show_bug.cgi?id=867392 */
-+ { 0x0924, 0x4293, USBLP_QUIRK_NO_REATTACH }, /* Xerox WorkCentre 3210
-+ https://bugs.launchpad.net/bugs/1102470 */
-+ { 0x1a86, 0x7584, USBLP_QUIRK_NO_REATTACH }, /* QinHeng Electronics
-+ CH340S (USB -> Parallel adapter), https://bugs.launchpad.net/bugs/1000253 */
-+ { 0x04e8, 0x0000, USBLP_QUIRK_RESET }, /* All Samsung devices,
-+ https://bugs.launchpad.net/bugs/1032456 */
-+ { 0x0a5f, 0x0000, USBLP_QUIRK_BIDIR }, /* All Zebra devices,
-+ https://bugs.launchpad.net/bugs/1001028 */
-+ /* Canon */
-+ { 0x04a9, 0x304a, USBLP_QUIRK_BLACKLIST }, /* Canon CP-10 */
-+ { 0x04a9, 0x3063, USBLP_QUIRK_BLACKLIST }, /* Canon CP-100 */
-+ { 0x04a9, 0x307c, USBLP_QUIRK_BLACKLIST }, /* Canon CP-200 */
-+ { 0x04a9, 0x307d, USBLP_QUIRK_BLACKLIST }, /* Canon CP-300 */
-+ { 0x04a9, 0x30bd, USBLP_QUIRK_BLACKLIST }, /* Canon CP-220 */
-+ { 0x04a9, 0x30be, USBLP_QUIRK_BLACKLIST }, /* Canon CP-330 */
-+ { 0x04a9, 0x30f6, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP400 */
-+ { 0x04a9, 0x310b, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP600 */
-+ { 0x04a9, 0x3127, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP710 */
-+ { 0x04a9, 0x3128, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP510 */
-+ { 0x04a9, 0x3141, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY ES1 */
-+ { 0x04a9, 0x3142, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP730 */
-+ { 0x04a9, 0x3143, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP720 */
-+ { 0x04a9, 0x3170, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP750 */
-+ { 0x04a9, 0x3171, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP740 */
-+ { 0x04a9, 0x3185, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY ES2 */
-+ { 0x04a9, 0x3186, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY ES20 */
-+ { 0x04a9, 0x31aa, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP770 */
-+ { 0x04a9, 0x31ab, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP760 */
-+ { 0x04a9, 0x31b0, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY ES30 */
-+ { 0x04a9, 0x31dd, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP780 */
-+ { 0x04a9, 0x31ee, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY ES40 */
-+ { 0x04a9, 0x3214, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP800 */
-+ { 0x04a9, 0x3255, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP900 */
-+ { 0x04a9, 0x3256, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP810 */
-+ { 0x04a9, 0x30F5, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP500 */
-+ { 0x04a9, 0x31AF, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY ES3 */
-+ { 0x04a9, 0x31DD, USBLP_QUIRK_BLACKLIST }, /* Canon SELPHY CP780 */
-+ /* MISSING PIDs: CP520, CP530, CP790 */
- { 0, 0 }
- };
-
-@@ -256,7 +339,12 @@ print_device(const char *uri, /* I - De
- }
-
- g.print_fd = print_fd;
-- g.printer->opened_for_job = 1;
-+
-+ /*
-+ * Some devices need a reset after finishing a job, these devices are
-+ * marked with the USBLP_QUIRK_RESET quirk.
-+ */
-+ g.printer->reset_after_job = (g.printer->quirks & USBLP_QUIRK_RESET ? 1 : 0);
-
- /*
- * If we are printing data from a print driver on stdin, ignore SIGTERM
-@@ -639,10 +727,10 @@ print_device(const char *uri, /* I - De
- * If it didn't exit abort the pending read and wait an additional
- * second...
- */
--
-+
- if (!g.read_thread_done)
- {
-- fputs("DEBUG: Read thread still active, aborting the pending read...\n",
-+ fputs("DEBUG: Read thread still active, aborting the pending read...\n",
- stderr);
-
- g.wait_eof = 0;
-@@ -650,7 +738,7 @@ print_device(const char *uri, /* I - De
- gettimeofday(&tv, NULL);
- cond_timeout.tv_sec = tv.tv_sec + 1;
- cond_timeout.tv_nsec = tv.tv_usec * 1000;
--
-+
- while (!g.read_thread_done)
- {
- if (pthread_cond_timedwait(&g.read_thread_cond, &g.read_thread_mutex,
-@@ -663,9 +751,6 @@ print_device(const char *uri, /* I - De
- pthread_mutex_unlock(&g.read_thread_mutex);
- }
-
-- if (print_fd)
-- close(print_fd);
--
- /*
- * Close the connection and input file and general clean up...
- */
-@@ -725,7 +810,7 @@ close_device(usb_printer_t *printer) /*
- */
- if (printer->origconf > 0 && printer->origconf != number2)
- {
-- fprintf(stderr, "DEBUG: Restoring USB device configuration: %d -> %d\n",
-+ fprintf(stderr, "DEBUG: Restoring USB device configuration: %d -> %d\n",
- number2, printer->origconf);
- if ((errcode = libusb_set_configuration(printer->handle,
- printer->origconf)) < 0)
-@@ -772,7 +857,7 @@ close_device(usb_printer_t *printer) /*
- * Reset the device to clean up after the job
- */
-
-- if (printer->opened_for_job == 1)
-+ if (printer->reset_after_job == 1)
- {
- if ((errcode = libusb_reset_device(printer->handle)) < 0)
- fprintf(stderr,
-@@ -815,7 +900,8 @@ find_device(usb_cb_t cb, /* I - Callb
- /* Pointer to current alternate setting */
- const struct libusb_endpoint_descriptor *endpptr = NULL;
- /* Pointer to current endpoint */
-- ssize_t numdevs, /* number of connected devices */
-+ ssize_t err = 0, /* Error code */
-+ numdevs, /* number of connected devices */
- i = 0;
- uint8_t conf, /* Current configuration */
- iface, /* Current interface */
-@@ -834,7 +920,14 @@ find_device(usb_cb_t cb, /* I - Callb
- * Initialize libusb...
- */
-
-- libusb_init(NULL);
-+ err = libusb_init(NULL);
-+ if (err)
-+ {
-+ fprintf(stderr, "DEBUG: Unable to initialize USB access via libusb, "
-+ "libusb error %i\n", err);
-+ return (NULL);
-+ }
-+
- numdevs = libusb_get_device_list(NULL, &list);
- fprintf(stderr, "DEBUG: libusb_get_device_list=%d\n", (int)numdevs);
-
-@@ -859,7 +952,14 @@ find_device(usb_cb_t cb, /* I - Callb
- !devdesc.idProduct)
- continue;
-
-- printer.quirks = quirks(devdesc.idVendor, devdesc.idProduct);
-+ printer.quirks = quirks(devdesc.idVendor, devdesc.idProduct);
-+
-+ /*
-+ * Ignore blacklisted printers...
-+ */
-+
-+ if (printer.quirks & USBLP_QUIRK_BLACKLIST)
-+ continue;
-
- for (conf = 0; conf < devdesc.bNumConfigurations; conf ++)
- {
-@@ -886,7 +986,7 @@ find_device(usb_cb_t cb, /* I - Callb
- */
-
- if (((altptr->bInterfaceClass != LIBUSB_CLASS_PRINTER ||
-- altptr->bInterfaceSubClass != 1) &&
-+ altptr->bInterfaceSubClass != 1) &&
- ((printer.quirks & USBLP_QUIRK_BAD_CLASS) == 0)) ||
- (altptr->bInterfaceProtocol != 1 && /* Unidirectional */
- altptr->bInterfaceProtocol != 2) || /* Bidirectional */
-@@ -964,7 +1064,7 @@ find_device(usb_cb_t cb, /* I - Callb
- bEndpointAddress;
- }
- else
-- fprintf(stderr, "DEBUG: Uni-directional USB communication "
-+ fprintf(stderr, "DEBUG: Uni-directional USB communication "
- "only!\n");
- printer.write_endp = confptr->interface[printer.iface].
- altsetting[printer.altset].
-@@ -997,7 +1097,8 @@ find_device(usb_cb_t cb, /* I - Callb
- * Clean up ....
- */
-
-- libusb_free_device_list(list, 1);
-+ if (numdevs >= 0)
-+ libusb_free_device_list(list, 1);
- libusb_exit(NULL);
-
- return (NULL);
-@@ -1144,7 +1245,7 @@ make_device_uri(
- if ((sern = cupsGetOption("SERIALNUMBER", num_values, values)) == NULL)
- if ((sern = cupsGetOption("SERN", num_values, values)) == NULL)
- if ((sern = cupsGetOption("SN", num_values, values)) == NULL &&
-- ((libusb_get_device_descriptor (printer->device, &devdesc) >= 0) &&
-+ ((libusb_get_device_descriptor(printer->device, &devdesc) >= 0) &&
- devdesc.iSerialNumber))
- {
- /*
-@@ -1288,7 +1389,7 @@ open_device(usb_printer_t *printer, /* I
- }
-
- printer->usblp_attached = 0;
-- printer->opened_for_job = 0;
-+ printer->reset_after_job = 0;
-
- if (verbose)
- fputs("STATE: +connecting-to-device\n", stderr);
-@@ -1343,7 +1444,7 @@ open_device(usb_printer_t *printer, /* I
-
- printer->origconf = current;
-
-- if ((errcode =
-+ if ((errcode =
- libusb_get_config_descriptor (printer->device, printer->conf, &confptr))
- < 0)
- {
-@@ -1355,7 +1456,7 @@ open_device(usb_printer_t *printer, /* I
-
- if (number1 != current)
- {
-- fprintf(stderr, "DEBUG: Switching USB device configuration: %d -> %d\n",
-+ fprintf(stderr, "DEBUG: Switching USB device configuration: %d -> %d\n",
- current, number1);
- if ((errcode = libusb_set_configuration(printer->handle, number1)) < 0)
- {
-@@ -1586,7 +1687,8 @@ static unsigned int quirks(int vendor, i
- for (i = 0; quirk_printers[i].vendorId; i++)
- {
- if (vendor == quirk_printers[i].vendorId &&
-- product == quirk_printers[i].productId)
-+ (quirk_printers[i].productId == 0x0000 ||
-+ product == quirk_printers[i].productId))
- return quirk_printers[i].quirks;
- }
- return 0;
diff --git a/source/a/cups/cups-blacklist-usblp.conf b/source/a/cups/cups-blacklist-usblp.conf
deleted file mode 100644
index 0ebaa9a63..000000000
--- a/source/a/cups/cups-blacklist-usblp.conf
+++ /dev/null
@@ -1,10 +0,0 @@
-##############################################################################
-# Do not edit this file; instead, copy it to /etc/modprobe.d/ and edit that
-##############################################################################
-
-# Blacklist the (obsolete) usblp module. While the CUPS package has been
-# patched to handle if this module is loaded, there are some reports that
-# it doesn't always work. Anyway, there should be no need to have this
-# module loaded, so we'll blacklist it just in case.
-
-blacklist usblp
diff --git a/source/a/cups/cups.SlackBuild b/source/a/cups/cups.SlackBuild
deleted file mode 100755
index 0bb759ee5..000000000
--- a/source/a/cups/cups.SlackBuild
+++ /dev/null
@@ -1,201 +0,0 @@
-#!/bin/sh
-
-# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, Minnesota, 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.
-
-# CUPS build script by volkerdi@slackware.com.
-
-VERSION=1.5.4
-BUILD=${BUILD:-3}
-
-# Automatically determine the architecture we're building on:
-if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
- arm*) export ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$( uname -m ) ;;
- esac
-fi
-
-if [ "$ARCH" = "x86_64" ]; then
- LIBDIRSUFFIX="64"
-else
- LIBDIRSUFFIX=""
-fi
-
-NUMJOBS=${NUMJOBS:-" -j7 "}
-
-CWD=$(pwd)
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-cups
-
-rm -rf $PKG
-mkdir -p $TMP $PKG
-
-cd $TMP
-rm -rf cups-$VERSION
-tar xvf $CWD/cups-$VERSION-source.tar.?z* || exit 1
-cd cups-$VERSION || exit 1
-
-# Fix for CUPS 1.5.4. Don't reload the obsolete usblp module, as this
-# can cause partial printing with certain printers.
-zcat $CWD/cups-1.5.4-usb-quirks.diff.gz | patch -p1 --verbose || exit 1
-
-sed -i.orig -e 's#$exec_prefix/lib/cups#$libdir/cups#g' configure
-./configure \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --enable-ssl \
- --enable-openssl=yes \
- --enable-gnutls=no \
- --enable-cdsassl=no \
- --docdir=/usr/doc \
- --without-php \
- --disable-pam \
- --build=$ARCH-slackware-linux
-
-make $NUMJOBS || exit 1
-mkdir -p $PKG/etc/cups
-mkdir -p $PKG/var/spool
-make BUILDROOT=$PKG install || exit 1
-
-# Blacklist the usblp module just to make sure that it doesn't cause
-# any problems:
-mkdir -p $PKG/lib/modprobe.d
-cp -a $CWD/cups-blacklist-usblp.conf $PKG/lib/modprobe.d
-chown root:root $PKG/lib/modprobe.d/cups-blacklist-usblp.conf
-chmod 644 $PKG/lib/modprobe.d/cups-blacklist-usblp.conf
-
-# Hey, what's with the gigantic test files? Bloat is bad.
-rm -f $PKG/usr/share/cups/ipptool/*.{pdf,ps,jpg}
-
-# I've added so many things like /etc/init.d/ to Slackware that CUPS
-# is now installing init scripts to the Red Hat locations. We'll move
-# them to the usual locations:
-mkdir -p $PKG/etc/rc.d
-# Handle this as a config file, and non-executable in a default install:
-mv $PKG/etc/init.d/cups $PKG/etc/rc.d/rc.cups.new
-chmod 644 $PKG/etc/rc.d/rc.cups.new
-# Clear out the additions:
-rm -rf $PKG/etc/init.d $PKG/etc/rc{0,2,3,5}.d
-
-# I'm not sure if overwriting this blindly could have ill effects,
-# but it never hurts to play it safe. According to the dbus-daemon
-# manpage, only files ending in .conf will be used, so there won't
-# be any unintended doubling up.
-mv $PKG/etc/dbus-1/system.d/cups.conf $PKG/etc/dbus-1/system.d/cups.conf.new
-
-# For full CUPS SMB support, you'll need to install the cups-samba
-# package from the source in this directory. There's no easy way
-# to add that to a package build, and the requests aren't pouring in,
-# so you'll have to install it yourself. It's easy to do.
-
-# However, this will get you the most useful SMB support for free.
-# Thanks to Boris Kurktchiev for the tip. :-)
-( cd $PKG/usr/lib${LIBDIRSUFFIX}/cups/backend
- if [ ! -e smb ]; then
- ln -sf /usr/bin/smbspool smb
- fi
-)
-
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-# Remove preformatted manpages and move the manpages to /usr/man:
-( cd $PKG/usr/share/man
- find . -type d -name "cat*" | xargs rm -rf
- cd ..
- mv man ..
-)
-
-# Adjust/expand docs:
-( mkdir -p $PKG/usr/doc
- mv $PKG/usr/share/doc/cups $PKG/usr/doc/cups-$VERSION
- rmdir $PKG/usr/share/doc
- cd $PKG/usr/doc
- ln -sf cups-$VERSION cups )
-
-# If there's a ChangeLog, installing at least part of the recent history
-# is useful, but don't let it get totally out of control:
-if [ -r CHANGES.txt ]; then
- DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
- cat CHANGES.txt | head -n 1000 > $DOCSDIR/CHANGES.txt
- touch -r CHANGES.txt $DOCSDIR/CHANGES.txt
-fi
-
-# I'm sorry, but PDF files are almost as bloated and annoying as
-# MS Word documents. We'll retain the HTML files in /usr/doc.
-( cd $PKG/usr/doc
- find . -name "*.pdf" -exec rm -f {} \; )
-
-# Apply no-clobber fix to conffiles:
-( cd $PKG/etc/cups
- for file in * ; do
- if [ -f $file ]; then
- mv $file $file.new
- fi
- done )
-
-# Strip stuff:
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-
-# Use symlinks to certain binaries so that CUPS and LPRng can coexist:
-SUFFIX=cups
-for file in \
-usr/bin/cancel \
-usr/bin/lp \
-usr/bin/lpq \
-usr/bin/lpr \
-usr/bin/lprm \
-usr/bin/lpstat \
-usr/sbin/lpc ; do
- ( cd $PKG
- mv ${file} ${file}-${SUFFIX}
- ( cd `dirname ${file}` ; ln -sf `basename ${file}`-${SUFFIX} `basename ${file}` )
- )
-done
-# Now fix the associated man pages:
-mv $PKG/usr/man/man1/cancel.1.gz $PKG/usr/man/man1/cancel-${SUFFIX}.1.gz
-mv $PKG/usr/man/man1/lp.1.gz $PKG/usr/man/man1/lp-${SUFFIX}.1.gz
-mv $PKG/usr/man/man1/lpq.1.gz $PKG/usr/man/man1/lpq-${SUFFIX}.1.gz
-mv $PKG/usr/man/man1/lpr.1.gz $PKG/usr/man/man1/lpr-${SUFFIX}.1.gz
-mv $PKG/usr/man/man1/lprm.1.gz $PKG/usr/man/man1/lprm-${SUFFIX}.1.gz
-mv $PKG/usr/man/man1/lpstat.1.gz $PKG/usr/man/man1/lpstat-${SUFFIX}.1.gz
-mv $PKG/usr/man/man8/lpc.8.gz $PKG/usr/man/man8/lpc-${SUFFIX}.8.gz
-( cd $PKG/usr/man/man1
- ln -sf cancel-${SUFFIX}.1.gz cancel.1.gz
- ln -sf lp-${SUFFIX}.1.gz lp.1.gz
- ln -sf lpq-${SUFFIX}.1.gz lpq.1.gz
- ln -sf lpr-${SUFFIX}.1.gz lpr.1.gz
- ln -sf lprm-${SUFFIX}.1.gz lprm.1.gz
- ln -sf lpstat-${SUFFIX}.1.gz lpstat.1.gz
-)
-( cd $PKG/usr/man/man8
- ln -sf lpc-${SUFFIX}.8.gz lpc.8.gz
-)
-
-# Add the doinst.sh that installs the .new conffiles:
-zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
-
-# Build the package:
-cd $PKG
-/sbin/makepkg -l y -c n $TMP/cups-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/a/cups/cups.url b/source/a/cups/cups.url
deleted file mode 100644
index fc83aeb6b..000000000
--- a/source/a/cups/cups.url
+++ /dev/null
@@ -1 +0,0 @@
-http://ftp.easysw.com/pub/cups/1.5.4/cups-1.5.4-source.tar.bz2
diff --git a/source/a/cups/doinst.sh b/source/a/cups/doinst.sh
deleted file mode 100644
index 6807cc3ac..000000000
--- a/source/a/cups/doinst.sh
+++ /dev/null
@@ -1,34 +0,0 @@
-config() {
- NEW="$1"
- OLD="`dirname $NEW`/`basename $NEW .new`"
- # If there's no config file by that name, mv it over:
- if [ ! -r $OLD ]; then
- mv $NEW $OLD
- elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
- rm $NEW
- fi
- # Otherwise, we leave the .new copy for the admin to consider...
-}
-for file in etc/cups/*.new ; do
- config $file
-done
-config etc/dbus-1/system.d/cups.conf.new
-
-# This file will just have to go. It appeared for a while during a -current
-# devel period and has never been part of a stable release.
-#config etc/modprobe.d/cups.blacklist.usblp.conf.new
-rm -f etc/modprobe.d/cups.blacklist.usblp.conf.new
-rm -f etc/modprobe.d/cups.blacklist.usblp.conf
-
-# Leave any new rc.cups with the same permissions as the old one:
-# This is a kludge, but it's because there's no --reference option
-# on busybox's 'chmod':
-if [ -e etc/rc.d/rc.cups ]; then
- if [ -x etc/rc.d/rc.cups ]; then
- chmod 755 etc/rc.d/rc.cups.new
- else
- chmod 644 etc/rc.d/rc.cups.new
- fi
-fi
-# Then config() it:
-config etc/rc.d/rc.cups.new
diff --git a/source/a/cups/slack-desc b/source/a/cups/slack-desc
deleted file mode 100644
index c2e1643c9..000000000
--- a/source/a/cups/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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------------------------------------------------------|
-cups: CUPS (Common UNIX Printing System)
-cups:
-cups: The Common UNIX Printing System provides a portable printing layer for
-cups: UNIX(R)-like operating systems. It has been developed by Easy Software
-cups: Products to promote a standard printing solution for all UNIX vendors
-cups: and users. CUPS uses the Internet Printing Protocol ("IPP") as the
-cups: basis for managing print jobs and queues. The CUPS package includes
-cups: System V and Berkeley command-line interfaces, a PostScript RIP
-cups: package for supporting non-PostScript printer drivers, and tools for
-cups: creating additional printer drivers and other CUPS services.
-cups:
diff --git a/source/a/cxxlibs/cxxlibs.SlackBuild b/source/a/cxxlibs/cxxlibs.SlackBuild
deleted file mode 100755
index 4de69818d..000000000
--- a/source/a/cxxlibs/cxxlibs.SlackBuild
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/bin/sh
-# Copyright 2006, 2007, 2008, 2009, 2010, 2012, 2013 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.
-
-
-PKGNAM=cxxlibs
-VERSION=${VERSION:-6.0.18}
-BUILD=${BUILD:-1}
-
-# Automatically determine the architecture we're building on:
-if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
- arm*) export ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$( uname -m ) ;;
- esac
-fi
-
-if [ "$ARCH" = "x86_64" ]; then
- LIBDIRSUFFIX="64"
-else
- LIBDIRSUFFIX=""
-fi
-
-CWD=$(pwd)
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-${PKGNAM}
-rm -rf $PKG
-mkdir -p $TMP $PKG
-
-cd $PKG
-cat $CWD/symlinks-to-tracked-libs${LIBDIRSUFFIX} | while read library ; do
- ( mkdir -p $(dirname $library | cut -b2- )
- cd $(dirname $library | cut -b2- )
- rm -f $(basename $library)
- cp -a $library .
- rm -f $(readlink $library)
- cp -a $(dirname $library)/$(readlink $library) .
- )
-done
-
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-cd $PKG
-/sbin/makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/a/cxxlibs/slack-desc b/source/a/cxxlibs/slack-desc
deleted file mode 100644
index c1428f943..000000000
--- a/source/a/cxxlibs/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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------------------------------------------------------|
-cxxlibs: cxxlibs (C++ shared library compatibility package)
-cxxlibs:
-cxxlibs: This package contains the shared libraries needed to run dynamically
-cxxlibs: linked C++ binaries linked with older versions of libstdc++.
-cxxlibs:
-cxxlibs:
-cxxlibs:
-cxxlibs:
-cxxlibs:
-cxxlibs:
-cxxlibs:
diff --git a/source/a/cxxlibs/symlinks-to-tracked-libs b/source/a/cxxlibs/symlinks-to-tracked-libs
deleted file mode 100644
index 39ff58e36..000000000
--- a/source/a/cxxlibs/symlinks-to-tracked-libs
+++ /dev/null
@@ -1,2 +0,0 @@
-/usr/lib/libstdc++.so.5
-/usr/lib/libstdc++.so.6
diff --git a/source/a/cxxlibs/symlinks-to-tracked-libs64 b/source/a/cxxlibs/symlinks-to-tracked-libs64
deleted file mode 100644
index 3a348cf1e..000000000
--- a/source/a/cxxlibs/symlinks-to-tracked-libs64
+++ /dev/null
@@ -1,2 +0,0 @@
-/usr/lib64/libstdc++.so.5
-/usr/lib64/libstdc++.so.6
diff --git a/source/a/dbus/dbus-1.6.x-allow_root_globally.diff b/source/a/dbus/dbus-1.10.x-allow_root_globally.diff
index ae2d30a6f..07d1ac333 100644
--- a/source/a/dbus/dbus-1.6.x-allow_root_globally.diff
+++ b/source/a/dbus/dbus-1.10.x-allow_root_globally.diff
@@ -1,9 +1,9 @@
-diff -Nur dbus-1.6.0.orig/bus/system.conf.in dbus-1.6.0/bus/system.conf.in
---- dbus-1.6.0.orig/bus/system.conf.in 2012-01-04 11:49:23.000000000 -0600
-+++ dbus-1.6.0/bus/system.conf.in 2012-06-12 23:07:14.541913190 -0500
-@@ -70,6 +70,14 @@
- send_member="UpdateActivationEnvironment"/>
- </policy>
+diff -Nur dbus-1.10.0.orig/bus/system.conf.in dbus-1.10.0/bus/system.conf.in
+--- dbus-1.10.0.orig/bus/system.conf.in 2015-07-21 11:46:00.000000000 -0500
++++ dbus-1.10.0/bus/system.conf.in 2015-10-03 17:47:18.646635691 -0500
+@@ -100,6 +100,14 @@
+ <!-- Include legacy configuration location -->
+ <include ignore_missing="yes">@DBUS_SYSCONFDIR@/dbus-1/system.conf</include>
+ <!-- Allow root to do anything over the messagebus.
+ Don't whine about "security" - anyone with root privileges
diff --git a/source/a/dbus/dbus.SlackBuild b/source/a/dbus/dbus.SlackBuild
index ee115afab..734c134c2 100755
--- a/source/a/dbus/dbus.SlackBuild
+++ b/source/a/dbus/dbus.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
# Copyright 2007-2010 Robby Workman, Northport, Alabama, USA
-# Copyright 2007-2012 Patrick Volkerding, Sebeka, MN, USA
+# Copyright 2007-2015 Patrick Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -30,7 +30,7 @@ NUMJOBS=${NUMJOBS:-" -j7 "}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 ) ;;
@@ -41,8 +41,8 @@ CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-$PKGNAM
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
@@ -68,8 +68,7 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-zcat $CWD/dbus-1.6.x-allow_root_globally.diff.gz | patch -p1 --verbose || exit 1
-zcat $CWD/dbus.set.home.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/dbus-1.10.x-allow_root_globally.diff.gz | patch -p1 --verbose || exit 1
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
@@ -88,6 +87,7 @@ CXXFLAGS="$SLKCFLAGS" \
--enable-x11-autolaunch \
--with-system-pid-file=/var/run/dbus/dbus.pid \
--with-system-socket=/var/run/dbus/system_bus_socket \
+ --with-console-auth-dir=/var/run/console \
--with-init-scripts=slackware \
--build=$ARCH-slackware-linux
diff --git a/source/a/dbus/dbus.set.home.diff b/source/a/dbus/dbus.set.home.diff
deleted file mode 100644
index 5c0f7976a..000000000
--- a/source/a/dbus/dbus.set.home.diff
+++ /dev/null
@@ -1,22 +0,0 @@
-Set HOME environment variable when switching user.
-
-2011-08-05 Egor Y. Egorov
-
-References:
-https://bugs.freedesktop.org/show_bug.cgi?id=39857
-https://bugs.kde.org/show_bug.cgi?id=249217#c27
-
-diff --git a/bus/activation-helper.c b/bus/activation-helper.c
-index baba8f0..b75ea7c 100644
---- a/bus/activation-helper.c
-+++ b/bus/activation-helper.c
-@@ -344,6 +344,8 @@ switch_user (char *user, DBusError *error)
- "cannot setuid user %i", pw->pw_uid);
- return FALSE;
- }
-+
-+ _dbus_setenv ("HOME", pw->pw_dir);
- #endif
- return TRUE;
- }
-
diff --git a/source/a/dbus/doinst.sh b/source/a/dbus/doinst.sh
index d12d7756a..dcefd1ff5 100644
--- a/source/a/dbus/doinst.sh
+++ b/source/a/dbus/doinst.sh
@@ -18,5 +18,9 @@ if [ -e etc/rc.d/rc.messagebus ]; then
mv etc/rc.d/rc.messagebus.new.incoming etc/rc.d/rc.messagebus.new
fi
-config etc/rc.d/rc.messagebus.new
+#config etc/rc.d/rc.messagebus.new
+# No, just install the thing. Leaving it as .new will only lead to problems.
+if [ -r etc/rc.d/rc.messagebus.new ]; then
+ mv etc/rc.d/rc.messagebus.new etc/rc.d/rc.messagebus
+fi
diff --git a/source/a/dbus/rc.messagebus b/source/a/dbus/rc.messagebus
index fb035af54..9a1ffce9f 100644
--- a/source/a/dbus/rc.messagebus
+++ b/source/a/dbus/rc.messagebus
@@ -6,7 +6,6 @@
# and other messages. See http://www.freedesktop.org/software/dbus/
#
# processname: dbus-daemon
-# pidfile: /var/run/dbus/pid
# This is a modified version of the rc.messagebus script distributed with the
# dbus sources. Thanks to Don Tanner of the GWare <http://gware.org> Project
diff --git a/source/a/dcron/dcron.SlackBuild b/source/a/dcron/dcron.SlackBuild
index 243c0cc80..9d5a6d7f3 100755
--- a/source/a/dcron/dcron.SlackBuild
+++ b/source/a/dcron/dcron.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2009, 2010, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2009, 2010, 2012, 2016 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,12 +21,12 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
VERSION=${VERSION:-$(echo dcron-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-4}
+BUILD=${BUILD:-5}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 ) ;;
@@ -37,8 +37,8 @@ CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-dcron
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
@@ -64,13 +64,19 @@ find . \
-exec chmod 644 {} \;
# Define TMPDIR as /var/spool/cron instead of /tmp
-zcat $CWD/defs.h.TMPDIR.diff.gz | patch -p1 || exit 1
+zcat $CWD/defs.h.TMPDIR.diff.gz | patch -p1 --verbose || exit 1
# Fix problem where user creates /var/spool/cron/crontabs/<user>.new
# using 'crontab -', exits with control-c, and then crontab refuses to
# overwrite the junk file. It would be better if dcron would wipe
# the junk file in the event it were not closed correctly, but oh well.
-zcat $CWD/crontab.c.O_EXCL.diff.gz | patch -p1 || exit 1
+zcat $CWD/crontab.c.O_EXCL.diff.gz | patch -p1 --verbose || exit 1
+
+# Running jobs should not block cron.update:
+zcat $CWD/dcron.update.during.long.running.jobs.diff.gz | patch -p1 --verbose || exit 1
+
+# Change _BSD_SOURCE to _DEFAULT_SOURCE for recent glibc:
+zcat $CWD/defs.h._DEFAULT_SOURCE.diff.gz | patch -p1 --verbose || exit 1
CFLAGS+="$SLKCFLAGS" make || exit 1
strip --strip-unneeded crond crontab
diff --git a/source/a/dcron/dcron.update.during.long.running.jobs.diff b/source/a/dcron/dcron.update.during.long.running.jobs.diff
new file mode 100644
index 000000000..cd1297c73
--- /dev/null
+++ b/source/a/dcron/dcron.update.during.long.running.jobs.diff
@@ -0,0 +1,19 @@
+ Update main.c
+
+Removed bug where cron.update is not picked up while jobs are still running. (We have long running cronjobs and experienced long overdue cron.update files)
+
+diff --git a/main.c b/main.c
+index 595f07a..0eba280 100644
+--- a/main.c
++++ b/main.c
+@@ -338,7 +338,8 @@ main(int ac, char **av)
+ SynchronizeDir(SCDir, "root", 0);
+ ReadTimestamps(NULL);
+ }
+- } else {
++ }
++ if (rescan < 60) {
+ CheckUpdates(CDir, NULL, t1, t2);
+ CheckUpdates(SCDir, "root", t1, t2);
+ }
+
diff --git a/source/a/dcron/defs.h._DEFAULT_SOURCE.diff b/source/a/dcron/defs.h._DEFAULT_SOURCE.diff
new file mode 100644
index 000000000..8d17b33a8
--- /dev/null
+++ b/source/a/dcron/defs.h._DEFAULT_SOURCE.diff
@@ -0,0 +1,11 @@
+--- ./defs.h.orig 2016-05-10 12:56:47.127582837 -0500
++++ ./defs.h 2016-05-10 12:59:31.059577597 -0500
+@@ -17,7 +17,7 @@
+ */
+
+ #define _XOPEN_SOURCE 1
+-#define _BSD_SOURCE 1
++#define _DEFAULT_SOURCE 1
+
+ #include <sys/types.h>
+ #include <sys/stat.h>
diff --git a/source/a/dosfstools/dosfstools.SlackBuild b/source/a/dosfstools/dosfstools.SlackBuild
index bd3c5773b..046062363 100755
--- a/source/a/dosfstools/dosfstools.SlackBuild
+++ b/source/a/dosfstools/dosfstools.SlackBuild
@@ -28,7 +28,7 @@ BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 ) ;;
@@ -37,8 +37,8 @@ fi
NUMJOBS=${NUMJOBS:-" -j7 "}
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
diff --git a/source/a/dosfstools/dosfstools.url b/source/a/dosfstools/dosfstools.url
new file mode 100644
index 000000000..945cf15f0
--- /dev/null
+++ b/source/a/dosfstools/dosfstools.url
@@ -0,0 +1 @@
+lftpget http://github.com/dosfstools/dosfstools/releases/download/v3.0.28/dosfstools-3.0.28.tar.xz
diff --git a/source/a/dosfstools/slack-desc b/source/a/dosfstools/slack-desc
index b070c1e29..2ac81136a 100644
--- a/source/a/dosfstools/slack-desc
+++ b/source/a/dosfstools/slack-desc
@@ -11,7 +11,7 @@ dosfstools:
dosfstools: Utilities for creating FAT filesystems (mkdosfs), and for checking
dosfstools: and repairing them (dosfsck).
dosfstools:
-dosfstools:
+dosfstools: Homepage: http://daniel-baumann.ch/software/dosfstools
dosfstools:
dosfstools:
dosfstools:
diff --git a/source/a/e2fsprogs/e2fsprogs-1.42.8.tar.sign b/source/a/e2fsprogs/e2fsprogs-1.42.8.tar.sign
deleted file mode 100644
index 660df3339..000000000
--- a/source/a/e2fsprogs/e2fsprogs-1.42.8.tar.sign
+++ /dev/null
Binary files differ
diff --git a/source/a/e2fsprogs/e2fsprogs-1.43.1.tar.sign b/source/a/e2fsprogs/e2fsprogs-1.43.1.tar.sign
new file mode 100644
index 000000000..362b42749
--- /dev/null
+++ b/source/a/e2fsprogs/e2fsprogs-1.43.1.tar.sign
Binary files differ
diff --git a/source/a/e2fsprogs/e2fsprogs.SlackBuild b/source/a/e2fsprogs/e2fsprogs.SlackBuild
index 51c268a1d..d96c71930 100755
--- a/source/a/e2fsprogs/e2fsprogs.SlackBuild
+++ b/source/a/e2fsprogs/e2fsprogs.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2015, 2016 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,8 +23,9 @@
# Modified 2012 by Eric Hameleers <alien at slackware.com> for ARM port.
+PKGNAM=e2fsprogs
VERSION=${VERSION:-$(echo e2fsprogs*.tar.?z* | cut -d - -f 2 | rev | cut -f 3- -d . | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j7 "}
@@ -32,7 +33,7 @@ NUMJOBS=${NUMJOBS:-" -j7 "}
MARCH=$( uname -m )
if [ -z "$ARCH" ]; then
case "$MARCH" in
- i?86) export ARCH=i486 ;;
+ i?86) export ARCH=i586 ;;
armv7hl) export ARCH=$MARCH ;;
arm*) export ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
@@ -40,8 +41,8 @@ if [ -z "$ARCH" ]; then
esac
fi
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
@@ -79,6 +80,11 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+# Do not use 64-bit by default on ext4, since some bootloaders cannot handle
+# it yet. But use "auto_64-bit_support = 1", which will enable 64-bit if the
+# number of blocks for the file system requires the feature to be enabled.
+zcat $CWD/e2fsprogs.no.64bit.by.default.diff.gz | patch -p1 --verbose || exit 1
+
# Disable libblkid and libuuid, as we'll be using the ones in u-l-ng
CFLAGS="$SLKCFLAGS" \
./configure \
@@ -106,12 +112,12 @@ make install-libs DESTDIR=$PKG || exit 1
# cat findsuper > $PKG/sbin/findsuper
# chmod 0755 $PKG/sbin/findsuper )
-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 clobber an existing config file
mv $PKG/etc/mke2fs.conf $PKG/etc/mke2fs.conf.new
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
# Fix up package:
mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}
mv $PKG/lib${LIBDIRSUFFIX}/pkgconfig $PKG/lib${LIBDIRSUFFIX}/*.so \
@@ -152,6 +158,10 @@ EOF
cp -a fsck.ext2 fsck.ext4
cp -a fsck.ext2 fsck.ext4dev
)
+( cd $PKG/usr/man/man5
+ ln -sf ext4.5 ext2.5
+ ln -sf ext4.5 ext3.5
+)
( cd $PKG/usr/man/man8
rm -f fsck.ext2.8 fsck.ext3.8 mkfs.ext2.8 mkfs.ext3.8 \
mkfs.ext4.8 mkfs.ext4dev.8
@@ -165,18 +175,29 @@ EOF
ln -sf mke2fs.8 mkfs.ext4dev.8
)
-# Compress and link manpages
-( cd $PKG/usr/man
- find . -type f -exec gzip -9 {} \;
- for i in $( find . -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
-)
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
mkdir -p $PKG/usr/doc/e2fsprogs-$VERSION
cp -a \
- COPYING* INSTALL INSTALL.elfbin README* RELEASE-NOTES SHLIBS \
+ COPYING* INSTALL* NOTICE README* RELEASE-NOTES SHLIBS SUBMITTING-PATCHES \
$PKG/usr/doc/e2fsprogs-$VERSION
+cp -a ext2ed/COPYRIGHT $PKG/usr/doc/e2fsprogs-$VERSION/COPYRIGHT.ext2ed
+cp -a ext2ed/README $PKG/usr/doc/e2fsprogs-$VERSION/README.ext2ed
+cp -a lib/uuid/COPYING $PKG/usr/doc/e2fsprogs-$VERSION/COPYING.uuid
chmod 644 $PKG/usr/doc/e2fsprogs-$VERSION/*
+# Trim RELEASE-NOTES to only include recent history:
+if [ -r RELEASE-NOTES ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat RELEASE-NOTES | head -n 1000 > $DOCSDIR/RELEASE-NOTES
+ touch -r RELEASE-NOTES $DOCSDIR/RELEASE-NOTES
+fi
+
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
diff --git a/source/a/e2fsprogs/e2fsprogs.no.64bit.by.default.diff b/source/a/e2fsprogs/e2fsprogs.no.64bit.by.default.diff
new file mode 100644
index 000000000..b866f0cc2
--- /dev/null
+++ b/source/a/e2fsprogs/e2fsprogs.no.64bit.by.default.diff
@@ -0,0 +1,12 @@
+--- ./misc/mke2fs.conf.in.orig 2016-05-17 00:32:58.000000000 -0500
++++ ./misc/mke2fs.conf.in 2016-05-24 19:04:24.956000477 -0500
+@@ -11,7 +11,8 @@
+ features = has_journal
+ }
+ ext4 = {
+- features = has_journal,extent,huge_file,flex_bg,64bit,dir_nlink,extra_isize
++ features = has_journal,extent,huge_file,flex_bg,dir_nlink,extra_isize
++ auto_64-bit_support = 1
+ inode_size = 256
+ }
+ ext4dev = {
diff --git a/source/a/e2fsprogs/slack-desc b/source/a/e2fsprogs/slack-desc
index e35c02a2b..5a41b1536 100644
--- a/source/a/e2fsprogs/slack-desc
+++ b/source/a/e2fsprogs/slack-desc
@@ -13,7 +13,7 @@ e2fsprogs:
e2fsprogs: These utilities were written by Remy Card (the developer and
e2fsprogs: maintainer of the ext2 fs) and Theodore T'so.
e2fsprogs:
-e2fsprogs:
+e2fsprogs: http://kernel.org/pub/linux/kernel/people/tytso/e2fsprogs
e2fsprogs:
e2fsprogs:
e2fsprogs:
diff --git a/source/a/ed/ed.SlackBuild b/source/a/ed/ed.SlackBuild
index 72f47141e..298c13fa9 100755
--- a/source/a/ed/ed.SlackBuild
+++ b/source/a/ed/ed.SlackBuild
@@ -28,7 +28,7 @@ BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 ) ;;
@@ -46,7 +46,7 @@ mkdir -p $TMP $PKG
cd $TMP
rm -rf ${PKGNAM}-${VERSION}
tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z* || exit 1
-cd ${PKGNAM}-$VERSION
+cd ${PKGNAM}-$VERSION || exit 1
# Make sure ownerships and permissions are sane:
chown -R root:root .
@@ -61,7 +61,7 @@ CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--infodir=/usr/info \
- --mandir=/usr/man
+ --mandir=/usr/man || exit 1
# Build and install:
make $NUMJOBS || make || exit 1
diff --git a/source/a/efibootmgr/efibootmgr.SlackBuild b/source/a/efibootmgr/efibootmgr.SlackBuild
index 1e411677b..bf2e0d39d 100755
--- a/source/a/efibootmgr/efibootmgr.SlackBuild
+++ b/source/a/efibootmgr/efibootmgr.SlackBuild
@@ -29,7 +29,7 @@ BUILD=${BUILD:-1}
if [ -z "$ARCH" ]; then
case "$(uname -m)" in
i?86) ARCH=i486 ;;
- arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7lh ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$(uname -m) ;;
esac
diff --git a/source/a/elilo/elilo.SlackBuild b/source/a/elilo/elilo.SlackBuild
index ad2ffc146..2fa31a7af 100755
--- a/source/a/elilo/elilo.SlackBuild
+++ b/source/a/elilo/elilo.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2013 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2013, 2014, 2016 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,11 +22,11 @@
PKGNAM=elilo
VERSION=${VERSION:-$(echo $PKGNAM*.tar.?z* | rev | cut -f 2 -d - | rev)}
-BUILD=${BUILD:-6}
+BUILD=${BUILD:-2}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) ARCH=i486 ;;
+ i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
@@ -36,8 +36,8 @@ CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-$PKGNAM
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
@@ -58,12 +58,18 @@ mkdir elilo
cd elilo
tar xvf $CWD/${PKGNAM}-$VERSION-all.tar.?z* || exit 1
tar xvf elilo-${VERSION}-source.tar.gz || exit 1
+# This is a rebuilt version of the x86_64 elilo (which is really the only
+# useful one), fetched from $TMP/elilo/elilo-${VERSION}-source/ after
+# running this script. Elilo can be rather fragile, so we don't want to
+# rebuild it all the time and risk breaking it.
+tar xvf $CWD/elilo.x64.rebuilt.tar.xz || exit 1
chown -R root:root .
chmod -R u+w,go+r-w,a-s .
-cd elilo
+cd elilo-${VERSION}-source || cd elilo || exit
sed -i "s,/usr/lib,/usr/lib${LIBDIRSUFFIX},g" Make.defaults
sed -i "s,EFICRT0.*= /usr/lib${LIBDIRSUFFIX},EFICRT0 = /usr/lib${LIBDIRSUFFIX}/gnuefi,g" Make.defaults
+sed -i "s,dpkg-architecture -qDEB_BUILD_ARCH,uname -m,g" Make.defaults
# We will build this from source.
# However, we will package the pre-built EFI binaries, since we would
diff --git a/source/a/elilo/eliloconfig b/source/a/elilo/eliloconfig
index 91f66d692..912d65057 100644
--- a/source/a/elilo/eliloconfig
+++ b/source/a/elilo/eliloconfig
@@ -1,5 +1,5 @@
#!/bin/sh
-# Copyright 2013 Patrick Volkerding, Sebeka, Minnesota, USA
+# Copyright 2013, 2016 Patrick Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -88,10 +88,10 @@ fi
# Figure out the device and partition number of the ESP:
if mount | grep vfat | grep -wq /boot/efi ; then
EFI_DEVICE=$(mount | grep vfat | grep -w /boot/efi | cut -b 1-8)
- EFI_PARTITION=$(mount | grep vfat | grep -w /boot/efi | cut -f 1 -d ' ' | cut -b 9-)
+ EFI_PARTITION=$(mount | grep vfat | grep -w /boot/efi | cut -f 1 -d ' ' | cut -b 9- | tr -d [a-z])
else
EFI_DEVICE=$(mount | grep vfat | grep -w /mnt/boot/efi | cut -b 1-8)
- EFI_PARTITION=$(mount | grep vfat | grep -w /mnt/boot/efi | cut -f 1 -d ' ' | cut -b 9-)
+ EFI_PARTITION=$(mount | grep vfat | grep -w /mnt/boot/efi | cut -f 1 -d ' ' | cut -b 9- | tr -d [a-z])
fi
# There better be a kernel:
diff --git a/source/a/etc/etc.SlackBuild b/source/a/etc/etc.SlackBuild
index 0233a9776..34762f05e 100755
--- a/source/a/etc/etc.SlackBuild
+++ b/source/a/etc/etc.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2005-2013 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2005-2016 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,13 +20,13 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=14.1
-BUILD=${BUILD:-2}
+VERSION=14.2
+BUILD=${BUILD:-7}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 ) ;;
@@ -43,7 +43,7 @@ mkdir -p $TMP $PKG
cd $PKG
explodepkg $CWD/_etc.tar.gz
# Fix for ARCH:
-sed -i -e "s#/i486-slackware-linux#/${ARCH}-slackware-linux#" etc/ld.so.conf.new
+sed -i -e "s#/i586-slackware-linux#/${ARCH}-slackware-linux#" etc/ld.so.conf.new
# Fix paths if lib64 is needed:
if [ "$ARCH" = "x86_64" ]; then
sed -i -e "s#/lib#/lib64#" etc/ld.so.conf.new
diff --git a/source/a/eudev/0001-Remove-obsolete-udev_root-references.patch b/source/a/eudev/0001-Remove-obsolete-udev_root-references.patch
new file mode 100644
index 000000000..e09f82e0d
--- /dev/null
+++ b/source/a/eudev/0001-Remove-obsolete-udev_root-references.patch
@@ -0,0 +1,68 @@
+From 26b8f53163c0efd9c638f9798bb8e36be2a3d719 Mon Sep 17 00:00:00 2001
+From: Robby Workman <rworkman@slackware.com>
+Date: Sun, 15 Nov 2015 15:07:37 -0600
+Subject: [PATCH] Remove obsolete udev_root references
+
+This was removed in 6ada823a9a0979ea145fd70add1007c21caa45c0
+---
+ man/udev.7 | 5 -----
+ man/udev.xml | 7 -------
+ test/udev-test.pl | 8 --------
+ 3 files changed, 20 deletions(-)
+
+diff --git a/man/udev.7 b/man/udev.7
+index b54683d..293f404 100644
+--- a/man/udev.7
++++ b/man/udev.7
+@@ -515,11 +515,6 @@ The current name of the device\&. If not changed by a rule, it is the name of th
+ A space\-separated list of the current symlinks\&. The value is only set during a remove event or if an earlier rule assigned a value\&.
+ .RE
+ .PP
+-\fB$root\fR, \fB%r\fR
+-.RS 4
+-The udev_root value\&.
+-.RE
+-.PP
+ \fB$sys\fR, \fB%S\fR
+ .RS 4
+ The sysfs mount point\&.
+diff --git a/man/udev.xml b/man/udev.xml
+index fd7df34..d1ade24 100644
+--- a/man/udev.xml
++++ b/man/udev.xml
+@@ -703,13 +703,6 @@
+ </varlistentry>
+
+ <varlistentry>
+- <term><option>$root</option>, <option>%r</option></term>
+- <listitem>
+- <para>The udev_root value.</para>
+- </listitem>
+- </varlistentry>
+-
+- <varlistentry>
+ <term><option>$sys</option>, <option>%S</option></term>
+ <listitem>
+ <para>The sysfs mount point.</para>
+diff --git a/test/udev-test.pl b/test/udev-test.pl
+index 14f11df..9a425bb 100755
+--- a/test/udev-test.pl
++++ b/test/udev-test.pl
+@@ -889,14 +889,6 @@ SUBSYSTEMS=="scsi", KERNEL=="sda1", SYMLINK+="%P-part-1"
+ EOF
+ },
+ {
+- desc => "udev_root substitution",
+- devpath => "/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda1",
+- exp_name => "start-/dev-end",
+- rules => <<EOF
+-SUBSYSTEMS=="scsi", KERNEL=="sda1", SYMLINK+="start-%r-end"
+-EOF
+- },
+- {
+ desc => "last_rule option",
+ devpath => "/devices/pci0000:00/0000:00:1f.2/host0/target0:0:0/0:0:0:0/block/sda/sda1",
+ exp_name => "last",
+--
+2.6.3
+
diff --git a/source/a/eudev/0002-src-udev-udevd.c-add-eudev-startup-message-for-kmsg.patch b/source/a/eudev/0002-src-udev-udevd.c-add-eudev-startup-message-for-kmsg.patch
new file mode 100644
index 000000000..55e2bccfc
--- /dev/null
+++ b/source/a/eudev/0002-src-udev-udevd.c-add-eudev-startup-message-for-kmsg.patch
@@ -0,0 +1,38 @@
+From 71ff5b6886946dacca8ae685ac85cdc174cfdece Mon Sep 17 00:00:00 2001
+From: Richard Narron <richard@aaazen.com>
+Date: Sun, 22 Nov 2015 02:27:58 -0500
+Subject: [PATCH 2/2] src/udev/udevd.c: add eudev startup message for kmsg
+
+Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
+---
+ src/udev/udevd.c | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/src/udev/udevd.c b/src/udev/udevd.c
+index b1de97a..b3fbc27 100644
+--- a/src/udev/udevd.c
++++ b/src/udev/udevd.c
+@@ -1125,6 +1125,7 @@ static int parse_argv(int argc, char *argv[]) {
+ int main(int argc, char *argv[]) {
+ struct udev *udev;
+ sigset_t mask;
++ FILE *f;
+ int fd_ctrl = -1;
+ int fd_netlink = -1;
+ int fd_worker = -1;
+@@ -1277,6 +1278,12 @@ int main(int argc, char *argv[]) {
+
+ udev_list_node_init(&event_list);
+
++ f = fopen("/dev/kmsg", "w");
++ if (f != NULL) {
++ fprintf(f, "<30>udevd[%u]: starting eudev-" VERSION "\n", getpid());
++ fclose(f);
++ }
++
+ if (!arg_debug) {
+ int fd;
+
+--
+2.6.3
+
diff --git a/source/a/udev/60-cdrom_id.rules.diff b/source/a/eudev/60-cdrom_id.rules.diff
index 6ac5e2275..c785dcca7 100644
--- a/source/a/udev/60-cdrom_id.rules.diff
+++ b/source/a/eudev/60-cdrom_id.rules.diff
@@ -1,8 +1,9 @@
---- ./src/cdrom_id/60-cdrom_id.rules.orig 2012-01-30 12:02:56.526251552 -0600
-+++ ./src/cdrom_id/60-cdrom_id.rules 2013-01-17 21:11:20.821006629 -0600
-@@ -15,6 +15,24 @@
- # enable the receiving of media eject button events
- IMPORT{program}="cdrom_id --lock-media $devnode"
+diff -rNaud eudev-3.1.old/rules/60-cdrom_id.rules eudev-3.1/rules/60-cdrom_id.rules
+--- eudev-3.1.old/rules/60-cdrom_id.rules 2015-03-19 22:57:28.000000000 +0100
++++ eudev-3.1/rules/60-cdrom_id.rules 2015-10-24 12:36:13.350966101 +0200
+@@ -20,6 +20,25 @@
+ # stale mounts after ejecting
+ ENV{DISK_MEDIA_CHANGE}=="?*", ENV{ID_CDROM_MEDIA}!="?*", ENV{SYSTEMD_READY}="0"
-KERNEL=="sr0", SYMLINK+="cdrom", OPTIONS+="link_priority=-100"
+# create default links to the first detected device
@@ -24,5 +25,6 @@
+KERNEL=="sr[0-9]*", ENV{ID_CDROM_DVD_R}=="1", SYMLINK+="dvdr%n", OPTIONS+="link_priority=-100"
+KERNEL=="sr[0-9]*", ENV{ID_CDROM_DVD_R}=="1", SYMLINK+="dvdwriter%n", OPTIONS+="link_priority=-100"
+KERNEL=="sr[0-9]*", ENV{ID_CDROM_DVD_RW}=="1", SYMLINK+="dvdrw%n", OPTIONS+="link_priority=-100"
++
LABEL="cdrom_end"
diff --git a/source/a/udev/config/modprobe.d/8139cp.conf b/source/a/eudev/config/modprobe.d/8139cp.conf
index 65f0af0d1..65f0af0d1 100644
--- a/source/a/udev/config/modprobe.d/8139cp.conf
+++ b/source/a/eudev/config/modprobe.d/8139cp.conf
diff --git a/source/a/udev/config/modprobe.d/README b/source/a/eudev/config/modprobe.d/README
index 43355e826..43355e826 100644
--- a/source/a/udev/config/modprobe.d/README
+++ b/source/a/eudev/config/modprobe.d/README
diff --git a/source/a/udev/config/modprobe.d/bcm43xx.conf b/source/a/eudev/config/modprobe.d/bcm43xx.conf
index 55b3c2abc..55b3c2abc 100644
--- a/source/a/udev/config/modprobe.d/bcm43xx.conf
+++ b/source/a/eudev/config/modprobe.d/bcm43xx.conf
diff --git a/source/a/udev/config/modprobe.d/eepro100.conf b/source/a/eudev/config/modprobe.d/eepro100.conf
index a7ca4aaea..a7ca4aaea 100644
--- a/source/a/udev/config/modprobe.d/eepro100.conf
+++ b/source/a/eudev/config/modprobe.d/eepro100.conf
diff --git a/source/a/udev/config/modprobe.d/eth1394.conf b/source/a/eudev/config/modprobe.d/eth1394.conf
index a2f475afd..a2f475afd 100644
--- a/source/a/udev/config/modprobe.d/eth1394.conf
+++ b/source/a/eudev/config/modprobe.d/eth1394.conf
diff --git a/source/a/udev/config/modprobe.d/evbug.conf b/source/a/eudev/config/modprobe.d/evbug.conf
index 0af0a83c6..0af0a83c6 100644
--- a/source/a/udev/config/modprobe.d/evbug.conf
+++ b/source/a/eudev/config/modprobe.d/evbug.conf
diff --git a/source/a/udev/config/modprobe.d/framebuffers.conf b/source/a/eudev/config/modprobe.d/framebuffers.conf
index 770ce420a..770ce420a 100644
--- a/source/a/udev/config/modprobe.d/framebuffers.conf
+++ b/source/a/eudev/config/modprobe.d/framebuffers.conf
diff --git a/source/a/udev/config/modprobe.d/hostap.conf b/source/a/eudev/config/modprobe.d/hostap.conf
index 4254d3daa..4254d3daa 100644
--- a/source/a/udev/config/modprobe.d/hostap.conf
+++ b/source/a/eudev/config/modprobe.d/hostap.conf
diff --git a/source/a/udev/config/modprobe.d/hw_random.conf b/source/a/eudev/config/modprobe.d/hw_random.conf
index b912e0125..b912e0125 100644
--- a/source/a/udev/config/modprobe.d/hw_random.conf
+++ b/source/a/eudev/config/modprobe.d/hw_random.conf
diff --git a/source/a/udev/config/modprobe.d/isapnp.conf b/source/a/eudev/config/modprobe.d/isapnp.conf
index a89ad6bb7..a89ad6bb7 100644
--- a/source/a/udev/config/modprobe.d/isapnp.conf
+++ b/source/a/eudev/config/modprobe.d/isapnp.conf
diff --git a/source/a/udev/config/modprobe.d/isdn.conf b/source/a/eudev/config/modprobe.d/isdn.conf
index 7f7367536..7f7367536 100644
--- a/source/a/udev/config/modprobe.d/isdn.conf
+++ b/source/a/eudev/config/modprobe.d/isdn.conf
diff --git a/source/a/udev/config/modprobe.d/oss.conf b/source/a/eudev/config/modprobe.d/oss.conf
index 52ed2f59c..52ed2f59c 100644
--- a/source/a/udev/config/modprobe.d/oss.conf
+++ b/source/a/eudev/config/modprobe.d/oss.conf
diff --git a/source/a/udev/config/modprobe.d/pcspkr.conf b/source/a/eudev/config/modprobe.d/pcspkr.conf
index 66de6b749..66de6b749 100644
--- a/source/a/udev/config/modprobe.d/pcspkr.conf
+++ b/source/a/eudev/config/modprobe.d/pcspkr.conf
diff --git a/source/a/udev/config/modprobe.d/psmouse.conf b/source/a/eudev/config/modprobe.d/psmouse.conf
index cc414141e..cc414141e 100644
--- a/source/a/udev/config/modprobe.d/psmouse.conf
+++ b/source/a/eudev/config/modprobe.d/psmouse.conf
diff --git a/source/a/udev/config/modprobe.d/scsi-sata-controllers.conf b/source/a/eudev/config/modprobe.d/scsi-sata-controllers.conf
index 61470416d..61470416d 100644
--- a/source/a/udev/config/modprobe.d/scsi-sata-controllers.conf
+++ b/source/a/eudev/config/modprobe.d/scsi-sata-controllers.conf
diff --git a/source/a/udev/config/modprobe.d/sound-modems.conf b/source/a/eudev/config/modprobe.d/sound-modems.conf
index f458346de..f458346de 100644
--- a/source/a/udev/config/modprobe.d/sound-modems.conf
+++ b/source/a/eudev/config/modprobe.d/sound-modems.conf
diff --git a/source/a/udev/config/modprobe.d/tulip.conf b/source/a/eudev/config/modprobe.d/tulip.conf
index 64b6a5ca5..64b6a5ca5 100644
--- a/source/a/udev/config/modprobe.d/tulip.conf
+++ b/source/a/eudev/config/modprobe.d/tulip.conf
diff --git a/source/a/udev/config/modprobe.d/usb-controller.conf b/source/a/eudev/config/modprobe.d/usb-controller.conf
index f5e4e5025..f5e4e5025 100644
--- a/source/a/udev/config/modprobe.d/usb-controller.conf
+++ b/source/a/eudev/config/modprobe.d/usb-controller.conf
diff --git a/source/a/udev/config/modprobe.d/via-ircc.conf b/source/a/eudev/config/modprobe.d/via-ircc.conf
index 3dfa57315..3dfa57315 100644
--- a/source/a/udev/config/modprobe.d/via-ircc.conf
+++ b/source/a/eudev/config/modprobe.d/via-ircc.conf
diff --git a/source/a/udev/config/modprobe.d/watchdog.conf b/source/a/eudev/config/modprobe.d/watchdog.conf
index 66d1f837d..22a5c829d 100644
--- a/source/a/udev/config/modprobe.d/watchdog.conf
+++ b/source/a/eudev/config/modprobe.d/watchdog.conf
@@ -8,8 +8,12 @@ blacklist acquirewdt
blacklist advantechwdt
blacklist alim1535_wdt
blacklist alim7101_wdt
+blacklist bcm7038_wdt
+blacklist cadence_wdt
blacklist cpu5wdt
+blacklist dw_wdt
blacklist eurotechwdt
+blacklist f71808e_wdt
blacklist hpwdt
blacklist i6300esb
blacklist i8xx_tco
@@ -17,22 +21,34 @@ blacklist iTCO_vendor_support
blacklist iTCO_wdt
blacklist ib700wdt
blacklist ibmasr
+blacklist ie6xx_wdt
blacklist it8712f_wdt
+blacklist it87_wdt
blacklist machzwd
+blacklist max63xx_wdt
+blacklist mena21_wdt
+blacklist menf21bmc_wdt
blacklist mixcomwd
+blacklist nv_tco
blacklist pc87413_wdt
blacklist pcwd
blacklist pcwd_pci
blacklist pcwd_usb
+blacklist retu_wdt
+blacklist rn5t618_wdt
blacklist sbc60xxwdt
blacklist sbc7240_wdt
blacklist sbc8360
blacklist sbc_epx_c3
+blacklist sbc_fitpc2_wdt
blacklist sc1200wdt
blacklist sc520_wdt
+blacklist sch311x_wdt
blacklist scx200_wdt
blacklist smsc37b787_wdt
blacklist softdog
+blacklist sp5100_tco
+blacklist via_wdt
blacklist w83627hf_wdt
blacklist w83697hf_wdt
blacklist w83877f_wdt
diff --git a/source/a/udev/config/rc.d/rc.udev.new b/source/a/eudev/config/rc.d/rc.udev.new
index f000e938e..aaa1eb155 100644..100755
--- a/source/a/udev/config/rc.d/rc.udev.new
+++ b/source/a/eudev/config/rc.d/rc.udev.new
@@ -5,57 +5,47 @@
PATH="/sbin:/bin"
-. /etc/udev/udev.conf
-
-# remove trailing slash from udev_root
-UDEV_ROOT=$(echo "${udev_root}" |sed 's/\/*$//')
-
check_mounted() {
grep -E -q "^[^[:space:]]+ $1 $2" /proc/mounts
return $?
}
mount_devpts() {
- if ! check_mounted $UDEV_ROOT/pts devpts ; then
- mkdir $UDEV_ROOT/pts 2> /dev/null
- mount -n -o mode=0620,gid=5 -t devpts devpts $UDEV_ROOT/pts
+ if ! check_mounted /dev/pts devpts ; then
+ mkdir /dev/pts 2> /dev/null
+ mount -n -o mode=0620,gid=5 -t devpts devpts /dev/pts
+ fi
+}
+
+mount_devshm() {
+ if ! check_mounted /dev/shm tmpfs ; then
+ mkdir /dev/shm 2> /dev/null
+ mount /dev/shm
fi
}
case "$1" in
start)
- # Sanity check #1, udev requires that the kernel support devtmpfs:
- if ! grep -wq devtmpfs /proc/filesystems ; then
- echo "Sorry, but you need devtmpfs support in the kernel to use udev."
- echo "Both of these options are needed: CONFIG_DEVTMPFS=y CONFIG_DEVTMPFS_MOUNT=y"
- echo
- echo "FATAL: Refusing to run /etc/rc.d/rc.udev."
- sleep 10
- exit 1
- fi
-
- # Sanity check #2, udev requires that the kernel support tmpfs:
+ # Sanity check #1, udev requires that the kernel support tmpfs:
if ! grep -wq tmpfs /proc/filesystems ; then
echo "Sorry, but you need tmpfs support in the kernel to use udev."
echo
echo "FATAL: Refusing to run /etc/rc.d/rc.udev."
- sleep 10
exit 1
fi
- # Sanity check #3, make sure that a 2.6.x kernel is new enough:
+ # Sanity check #2, make sure that a 2.6.x kernel is new enough:
if [ "$(uname -r | cut -f 1,2 -d .)" = "2.6" ]; then
if [ "$(uname -r | cut -f 3 -d . | sed 's/[^[:digit:]].*//')" -lt "32" ]; then
echo "Sorry, but you need a 2.6.32+ kernel to use this udev."
echo "Your kernel version is only $(uname -r)."
echo
echo "FATAL: Refusing to run /etc/rc.d/rc.udev."
- sleep 10
exit 1
fi
fi
- # Sanity check #4, make sure the udev package was not removed. If udevd
+ # Sanity check #3, make sure the udev package was not removed. If udevd
# is not there, this will also shut off this script to prevent further
# problems:
if [ ! -x /sbin/udevd ]; then
@@ -63,7 +53,6 @@ case "$1" in
echo "No udevd daemon found."
echo "Turning off udev: chmod 644 /etc/rc.d/rc.udev"
echo "FATAL: Refusing to run /etc/rc.d/rc.udev."
- sleep 10
exit 1
fi
@@ -73,36 +62,54 @@ case "$1" in
fi
if grep -qw devtmpfs /proc/filesystems ; then
- if ! check_mounted $UDEV_ROOT devtmpfs ; then
- # umount shm if needed
- check_mounted $UDEV_ROOT/shm tmpfs && umount -l $UDEV_ROOT/shm
+ if ! check_mounted /dev devtmpfs ; then
+ # umount shm if needed
+ check_mounted /dev/shm tmpfs && umount -l /dev/shm
- # Umount pts if needed, we will remount it later:
- check_mounted $UDEV_ROOT/pts devpts && umount -l $UDEV_ROOT/pts
+ # Umount pts if needed, we will remount it later:
+ check_mounted /dev/pts devpts && umount -l /dev/pts
- # Mount tmpfs on $UDEV_ROOT:
- mount -n -t devtmpfs devtmpfs $UDEV_ROOT
- fi
+ # Mount tmpfs on /dev:
+ mount -n -t devtmpfs devtmpfs /dev
+ fi
else
- # Mount tmpfs on $UDEV_ROOT:
- if ! check_mounted $UDEV_ROOT tmpfs ; then
- # umount shm if needed
- check_mounted $UDEV_ROOT/shm tmpfs && umount -l $UDEV_ROOT/shm
+ # Mount tmpfs on /dev:
+ if ! check_mounted /dev tmpfs ; then
+ # umount shm if needed
+ check_mounted /dev/shm tmpfs && umount -l /dev/shm
- # Umount pts if needed, we will remount it later:
- check_mounted $UDEV_ROOT/pts devpts && umount -l $UDEV_ROOT/pts
-
- # Mount tmpfs on $UDEV_ROOT:
- # the -n is because we don't want $UDEV_ROOT umounted when
- # someone (rc.[06]) calls umount -a
- mount -n -o mode=0755 -t tmpfs tmpfs $UDEV_ROOT
+ # Umount pts if needed, we will remount it later:
+ check_mounted /dev/pts devpts && umount -l /dev/pts
- fi
- fi
+ # Mount tmpfs on /dev:
+ # the -n is because we don't want /dev umounted when
+ # someone (rc.[06]) calls umount -a
+ mount -n -o mode=0755 -t tmpfs tmpfs /dev
+ fi
+ fi
+
# Mount devpts
mount_devpts
+ mount_devshm
if ! /sbin/pidof udevd 1>/dev/null 2>/dev/null; then # start udevd
+ echo "Creating static nodes in /dev."
+ kmod static-nodes -f tmpfiles --output /run/static-nodes
+ grep "^d\ " /run/static-nodes | while read line ; do
+ mkdir -p -m $(echo $line | cut -f 3 -d ' ') $(echo $line | cut -f 2 -d ' ')
+ done
+ grep -v "^d\ " /run/static-nodes | while read line ; do
+ mknod -m $(echo $line | cut -f 3 -d ' ') \
+ $(echo $line | cut -f 2 -d ' ') \
+ $(echo $line | cut -b1 ) \
+ $(echo $line | cut -f 7 -d ' ' | cut -f 1 -d :) \
+ $(echo $line | cut -f 7 -d ' ' | cut -f 2 -d :) 2> /dev/null
+ done
+ rm -f /run/static-nodes
+ # Add any system defined additional device nodes:
+ cp --preserve=all --recursive --update /lib/udev/devices/* /dev 2> /dev/null
+ # Add any locally defined additional device nodes:
+ cp --preserve=all --recursive --update /etc/udev/devices/* /dev 2> /dev/null
echo "Starting udevd: /sbin/udevd --daemon"
/sbin/udevd --daemon
# Since udev is just now being started we want to use add events:
@@ -111,12 +118,12 @@ case "$1" in
/sbin/udevadm trigger --type=subsystems --action=add
/sbin/udevadm trigger --type=devices --action=add
else # trigger changes for already running udevd
- # If the persistent rules files do not exist, trigger an add event:
- if [ ! -r /etc/udev/rules.d/70-persistent-net.rules -o ! -r /etc/udev/rules.d/70-persistent-cd.rules ]; then
+ # If the persistent network rules file does not exist, trigger an add event:
+ if [ ! -r /etc/udev/rules.d/70-persistent-net.rules ]; then
# Test that we can actually write to the directory first:
if touch /etc/udev/rules.d/testfile 2> /dev/null ; then
rm -f /etc/udev/rules.d/testfile
- # This should add persistent net/cd rules:
+ # This should add persistent net rules:
echo "Triggering udev to write persistent rules to /etc/udev/rules.d/"
/sbin/udevadm trigger --type=devices --action=add
sleep 3
@@ -126,9 +133,14 @@ case "$1" in
# rules at every boot.
# To force another attempt, delete the file(s).
touch /etc/udev/rules.d/70-persistent-net.rules
- touch /etc/udev/rules.d/70-persistent-cd.rules
fi
fi
+ # Update the hardware database index (/etc/udev/hwdb.bin), if possible:
+ if touch /etc/udev/testfile 2> /dev/null ; then
+ rm -f /etc/udev/testfile
+ echo "Updating hardware database index: /sbin/udevadm hwdb --update"
+ /sbin/udevadm hwdb --update
+ fi
# Since udevd is running, most of the time we only need change events:
echo "Triggering udev events: /sbin/udevadm trigger --action=change"
/sbin/udevadm trigger --type=subsystems --action=change
@@ -158,13 +170,12 @@ case "$1" in
reload)
echo "Reloading udev rules"
udevadm control --reload
- cp --preserve=all --recursive --update /lib/udev/devices/* $UDEV_ROOT
;;
force-reload)
- echo "Updating all available device nodes in $UDEV_ROOT"
+ echo "Updating all available device nodes in /dev"
udevadm control --reload
- rm -rf $UDEV_ROOT/.udev $UDEV_ROOT/disk
- cp --preserve=all --recursive --update /lib/udev/devices/* $UDEV_ROOT
+ rm -rf /dev/.udev /dev/disk
+ cp --preserve=all --recursive --update /lib/udev/devices/* /dev 2> /dev/null
;;
*)
diff --git a/source/a/udev/config/rules.d/40-slackware.rules b/source/a/eudev/config/rules.d/40-slackware.rules
index 9e8c63428..3240b29ef 100644
--- a/source/a/udev/config/rules.d/40-slackware.rules
+++ b/source/a/eudev/config/rules.d/40-slackware.rules
@@ -20,3 +20,6 @@ KERNEL=="rfkill", GROUP:="netdev", MODE:="0664"
# Mount fusectl filesystem
KERNEL=="fuse", ACTION=="add", RUN+="/bin/mount -t fusectl fusectl /sys/fs/fuse/connections"
+# Set default perms for /dev/ppp:
+KERNEL=="ppp", MODE="0660", GROUP="dialout", OPTIONS+="static_node=ppp"
+
diff --git a/source/a/udev/config/rules.d/65-permissions.rules b/source/a/eudev/config/rules.d/65-permissions.rules
index 6f82b0f36..6f82b0f36 100644
--- a/source/a/udev/config/rules.d/65-permissions.rules
+++ b/source/a/eudev/config/rules.d/65-permissions.rules
diff --git a/source/a/eudev/config/udev.conf b/source/a/eudev/config/udev.conf
new file mode 100644
index 000000000..e507e116d
--- /dev/null
+++ b/source/a/eudev/config/udev.conf
@@ -0,0 +1,8 @@
+# /etc/udev/udev.conf
+
+# This file can be used to override some of udev's default values
+# See udev(7) for details
+
+# udev_log - The initial syslog(3) priority: "err", "info", "debug"
+udev_log="err"
+
diff --git a/source/a/udev/doinst.sh b/source/a/eudev/doinst.sh
index 2912e5c86..2912e5c86 100644
--- a/source/a/udev/doinst.sh
+++ b/source/a/eudev/doinst.sh
diff --git a/source/a/udev/udev.SlackBuild b/source/a/eudev/eudev.SlackBuild
index d39da2629..c82107f45 100755
--- a/source/a/udev/udev.SlackBuild
+++ b/source/a/eudev/eudev.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2006, 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2008, 2009, 2010, 2011, 2012, 2013, 2015 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,15 +20,15 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=${VERSION:-$(echo udev-*.tar.* | cut -d - -f 2 | rev | cut -f 3- -d . | rev)}
-BUILD=${BUILD:-7}
+VERSION=${VERSION:-$(echo eudev-*.tar.* | cut -d - -f 2 | rev | cut -f 3- -d . | rev)}
+BUILD=${BUILD:-8}
NUMJOBS=${NUMJOBS:-" -j7 "}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 ) ;;
@@ -43,14 +43,14 @@ fi
CWD=$(pwd)
TMP=${TMP:-/tmp}
-PKG=$TMP/package-udev
+PKG=$TMP/package-eudev
rm -rf $PKG
mkdir -p $TMP $PKG/lib/udev
cd $TMP
-rm -rf udev-$VERSION
-tar xvf $CWD/udev-$VERSION.tar.xz || exit 1
-cd udev-$VERSION || exit 1
+rm -rf eudev-$VERSION
+tar xvf $CWD/eudev-$VERSION.tar.xz || exit 1
+cd eudev-$VERSION || exit 1
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -58,42 +58,31 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-# Fix ata_id (remove with udev-186+)
-zcat $CWD/udev-ata_id-fixup-all-8-not-only-6-bytes-of-the-fw_rev.patch.gz | patch -p1 || exit 1
-
-# Fix 42-usb-hid-pm.rules (remove with udev-187+)
-zcat $CWD/fix-42-usb-hid-pm.rules.diff.gz | patch -p1 --verbose || exit 1
-
-# Fixup the rule generator for our use
-zcat $CWD/rule_generator.diff.gz | patch -p1 --verbose || exit 1
-
-# Patch 60-cdrom_id.rules to create a full set of symlinks.
-# This is needed for a hotplugged optical device since the generated
-# rules will not be used until the second time the device is plugged.
+# Patch 60-cdrom_id.rules to create a full set of symlinks:
zcat $CWD/60-cdrom_id.rules.diff.gz | patch -p1 --verbose || exit 1
-# static libudev is needed for lvm2
-# --enable-udev_acl was removed (will be part of future CK release)
-# --enable-floppy support was also disabled by default in 173
-# --enable-rule_generator was disabled by default in 175
+zcat $CWD/0001-Remove-obsolete-udev_root-references.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/0002-src-udev-udevd.c-add-eudev-startup-message-for-kmsg.patch.gz | patch -p1 --verbose || exit 1
-LDFLAGS="$LDFLAGS -lrt" \
./configure \
--prefix=/usr \
--with-rootprefix=/ \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--with-rootlibdir=/lib${LIBDIRSUFFIX} \
- --with-firmware-path=/lib/firmware/updates:/lib/firmware \
+ --with-rootrundir=/run \
+ --with-rootlibexecdir=/lib/udev \
--sysconfdir=/etc \
--bindir=/sbin \
--sbindir=/sbin \
--libexecdir=/lib \
--enable-introspection \
+ --enable-hwdb \
+ --enable-manpages \
--mandir=/usr/man \
- --docdir=/usr/doc/udev-$VERSION \
- --enable-floppy \
- --enable-static \
+ --docdir=/usr/doc/eudev-$VERSION \
+ --disable-static \
--enable-rule_generator \
+ --enable-split-usr \
--build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || make || exit 1
@@ -105,9 +94,9 @@ find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
# scsi_id is needed by multipath
( cd $PKG/sbin ; ln -s ../lib/udev/scsi_id scsi_id )
-# Put udevd back in /sbin
-mv $PKG/lib/udev/udevd $PKG/sbin
-ln -s /sbin/udevd $PKG/lib/udev/udevd
+# Move system installed hwdb files under /lib:
+mkdir -p $PKG/lib/udev/hwdb.d
+mv $PKG/etc/udev/hwdb.d/* $PKG/lib/udev/hwdb.d
mkdir -p \
$PKG/run \
@@ -116,13 +105,13 @@ mkdir -p \
$PKG/etc/udev/rules.d \
$PKG/lib/firmware
-# Yes, these will clobber existing config files.
+# Yes, this will clobber existing config files.
cp -a $CWD/config/udev.conf $PKG/etc/udev/udev.conf
-# Copy Slackware custom rules
+# Copy Slackware custom rules:
cp -a $CWD/config/rules.d/* $PKG/lib/udev/rules.d/
-# Now the init script and module-init-tools stuff
+# Now the init script and kmod stuff:
cp -a $CWD/config/rc.d/rc.udev.new $PKG/etc/rc.d/rc.udev.new
cp -a $CWD/config/modprobe.d/*.conf $PKG/lib/modprobe.d/
cp -a $CWD/config/modprobe.d/README $PKG/etc/modprobe.d/
@@ -133,18 +122,21 @@ find $PKG/etc -type d -exec chmod 755 {} \;
chmod 0755 $PKG/etc/rc.d/rc.udev.new
# Add extra device nodes to the package that udev doesn't make:
-tar xvf $CWD/udev-fixed-devices.tar.gz -C $PKG
+mkdir -p $PKG/lib/udev/devices
+if [ -r $CWD/udev-fixed-devices.tar.gz ]; then
+ tar xvf $CWD/udev-fixed-devices.tar.gz -C $PKG
+fi
+
+# Support locally added additional devices found in this directory:
+mkdir -p $PKG/etc/udev/devices
chown -R root:root $PKG/lib/udev
chmod 0755 $PKG/lib/udev/*
-mkdir -p $PKG/usr/doc/udev-$VERSION
+mkdir -p $PKG/usr/doc/eudev-$VERSION
cp -a \
COPYING* README* TODO \
- $PKG/usr/doc/udev-$VERSION
-
-# Don't package the API docs:
-rm -rf $PKG/usr/share/gtk-doc ; rmdir $PKG/usr/share 2>/dev/null
+ $PKG/usr/doc/eudev-$VERSION
# Compress and fix manpage symlinks:
if [ -d $PKG/usr/man ]; then
@@ -166,4 +158,4 @@ zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
-/sbin/makepkg -l y -c y $TMP/udev-$VERSION-$ARCH-$BUILD.txz
+/sbin/makepkg -l y -c y $TMP/eudev-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/a/eudev/slack-desc b/source/a/eudev/slack-desc
new file mode 100644
index 000000000..c709d6e08
--- /dev/null
+++ b/source/a/eudev/slack-desc
@@ -0,0 +1,20 @@
+# 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-------------------------------------------------------|
+eudev: eudev (dynamic device directory system)
+eudev:
+eudev: eudev provides a dynamic device directory containing only the files
+eudev: for the devices which are actually present. It creates or removes
+eudev: device node files usually located in the /dev directory. eudev is a
+eudev: fork of git://anongit.freedesktop.org/systemd/systemd with the aim of
+eudev: isolating udev from any particular flavor of system initialization.
+eudev:
+eudev: Homepage: https://wiki.gentoo.org/wiki/Project:Eudev
+eudev:
+eudev:
+
diff --git a/source/a/file/doinst.sh b/source/a/file/doinst.sh
new file mode 100644
index 000000000..d9c7f0470
--- /dev/null
+++ b/source/a/file/doinst.sh
@@ -0,0 +1,5 @@
+# Compile /etc/file/magic.mgc:
+chroot . /usr/bin/file --compile 1> /dev/null 2> /dev/null
+if [ -r magic.mgc ]; then
+ mv magic.mgc etc/file
+fi
diff --git a/source/a/file/file.SlackBuild b/source/a/file/file.SlackBuild
index 2435c5f02..d6ed07ee7 100755
--- a/source/a/file/file.SlackBuild
+++ b/source/a/file/file.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2005-2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2005-2008, 2009, 2010, 2013, 2015 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -28,15 +28,15 @@ NUMJOBS=${NUMJOBS:--j7}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
@@ -106,30 +106,28 @@ cat $(which libtool) > libtool
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
+# Ignore for now - still labeled as experimental
+# Actually, let's ignore it until something needs it :) <volkerdi>
+#cd python/
+# python setup.py build
+# python setup.py install --root=$PKG
+#cd ..
+
# Seems --disable-static has been ignored lately:
rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libmagic.a
-# Update: We're going to use magic.mgc now as the flat files cause
-# libmagic crashes with versions newer than file-5.11. Maybe that
-# wasn't being tested as well... in any case, using magic.mgc works.
-#
-#
-## Is file really this much of a processing bottleneck? Doubtful.
-##
-## NOTE: Benchmarked flat files vs. .mgc June 2009, found no measurable
-## difference on 3000+ files.
-##
-## If you really need these (let's say you're doing virus scanning
-## and this *would* speed things up quite a bit) you can create
-## the pre-parsed file yourself using file's -C option.
-#rm -f $PKG/etc/file/magic.mgc
-#mkdir -p $PKG/etc/file/magic
-#cp -a magic/Magdir/* $PKG/etc/file/magic
-## After building, this works fine. /etc/file/magic/ takes up 1.2M,
-## while the magic.mgc file is 1.7M. Considering a difference of 500k,
-## and the potential speedup, I'm not sure it's worth the effort...
-## but it does make it easier for an admin to add a small chunk of
-## new magic.
+# Install the flat files.
+# We'll generate /etc/file/magic.mgc in the doinst.sh.
+rm -f $PKG/etc/file/magic.mgc
+mkdir -p $PKG/etc/file/magic
+cp -a magic/Magdir/* $PKG/etc/file/magic
+
+# Add a script to recompile the flat files in the obvious location.
+# The package install script will compile the flat files initially.
+cp -a $CWD/recompile_magic.mgc.sh.gz $PKG/etc/file
+gzip -d $PKG/etc/file/recompile_magic.mgc.sh.gz
+chown root:root $PKG/etc/file/recompile_magic.mgc.sh
+chmod 755 $PKG/etc/file/recompile_magic.mgc.sh
# IMHO, moving this sort of thing does not make sense.
# We'll support both the traditional and new locations.
@@ -148,11 +146,12 @@ find $PKG | xargs file | grep -e "executable" -e "shared object" \
mkdir -p $PKG/usr/doc/file-$VERSION
cp -a \
- AUTHORS COPYING INSTALL MAINT NEWS README TODO \
+ AUTHORS COPYING* INSTALL MAINT NEWS README* TODO \
$PKG/usr/doc/file-$VERSION
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
# Build the package:
cd $PKG
diff --git a/source/a/file/recompile_magic.mgc.sh b/source/a/file/recompile_magic.mgc.sh
new file mode 100644
index 000000000..2ae5ca397
--- /dev/null
+++ b/source/a/file/recompile_magic.mgc.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+#
+# Recompile the /etc/file/magic.mgc database.
+# This should be done after any additions or changes to the files
+# in /etc/file/magic/.
+
+if [ ! "$UID" = "0" ]; then
+ echo "Error: must be root to recompile the system magic.mgc"
+ exit 1
+fi
+
+cd /etc/file
+/usr/bin/file --compile
+
diff --git a/source/a/gawk/gawk.SlackBuild b/source/a/gawk/gawk.SlackBuild
index cb332aa75..5a6acb719 100755
--- a/source/a/gawk/gawk.SlackBuild
+++ b/source/a/gawk/gawk.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2005-2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2005-2014 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,14 +22,14 @@
PKGNAM=gawk
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:--j6}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 ) ;;
@@ -40,8 +40,8 @@ CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-gawk
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
@@ -90,7 +90,6 @@ make install DESTDIR=$PKG || exit 1
( cd $PKG/usr/bin
ln -sf gawk-$VERSION gawk
- ln -sf pgawk-$VERSION pgawk
)
mkdir -p $PKG/bin
@@ -109,12 +108,16 @@ mv $PKG/usr/bin/awk $PKG/bin
)
( cd $PKG/usr/man/man1
- rm -f pgawk.1
- gzip -9 *
- ln -sf gawk.1.gz awk.1.gz
- ln -sf gawk.1.gz pgawk.1.gz
+ ln -sf gawk.1 awk.1
)
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
mkdir -p $PKG/usr/doc/gawk-$VERSION
cp -a \
ABOUT-NLS AUTHORS COPYING* FUTURES INSTALL LIMITATIONS NEWS POSIX.STD \
diff --git a/source/a/gettext/gettext-tools.SlackBuild b/source/a/gettext/gettext-tools.SlackBuild
index b231ad5fc..3b32f2f57 100755
--- a/source/a/gettext/gettext-tools.SlackBuild
+++ b/source/a/gettext/gettext-tools.SlackBuild
@@ -20,15 +20,15 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=0.18.2.1
-BUILD=${BUILD:-2}
+VERSION=0.19.8.1
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j6 "}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 ) ;;
@@ -42,8 +42,8 @@ PKG=$TMP/package-gettext-tools
if [ "$ARCH" = "i386" ]; then
SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
@@ -78,7 +78,7 @@ CXXFLAGS="$SLKCFLAGS" \
--infodir=/usr/info \
--mandir=/usr/man \
--docdir=/usr/doc/gettext-tools-$VERSION \
- --build=$ARCH-slackware-linux
+ --build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || make || exit 1
diff --git a/source/a/gettext/gettext.SlackBuild b/source/a/gettext/gettext.SlackBuild
index ce4ef587e..2f3e134b4 100755
--- a/source/a/gettext/gettext.SlackBuild
+++ b/source/a/gettext/gettext.SlackBuild
@@ -20,15 +20,15 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=0.18.2.1
-BUILD=${BUILD:-2}
+VERSION=0.19.8.1
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j6 "}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 ) ;;
@@ -42,8 +42,8 @@ PKG=$TMP/package-gettext
if [ "$ARCH" = "i386" ]; then
SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
@@ -79,7 +79,7 @@ CXXFLAGS="$SLKCFLAGS" \
--mandir=/usr/man \
--docdir=/usr/doc/gettext-$VERSION \
--disable-static \
- --build=$ARCH-slackware-linux
+ --build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG
diff --git a/source/a/glibc-zoneinfo/doinst.sh b/source/a/glibc-zoneinfo/doinst.sh
new file mode 100644
index 000000000..816e86e0e
--- /dev/null
+++ b/source/a/glibc-zoneinfo/doinst.sh
@@ -0,0 +1,15 @@
+# Fix existing old style /etc/localtime symlink:
+if [ -L etc/localtime -a ! -r etc/localtime-copied-from ]; then
+ mv etc/localtime etc/localtime-copied-from
+fi
+# Add the default timezone in /etc, if none exists:
+if [ ! -r etc/localtime ]; then
+ ( cd etc ; rm -rf localtime localtime-copied-from )
+ ( cd etc ; ln -sf /usr/share/zoneinfo/Factory localtime-copied-from )
+fi
+# Make sure /etc/localtime is updated:
+chroot . /bin/cp etc/localtime-copied-from etc/localtime
+# Add the default link in /usr/share/zoneinfo:
+( cd usr/share/zoneinfo ; rm -rf timeconfig )
+( cd usr/share/zoneinfo ; ln -sf /usr/sbin/timeconfig timeconfig )
+### Make the rest of the symbolic links in the zoneinfo database:
diff --git a/source/a/glibc-zoneinfo/glibc-zoneinfo.SlackBuild b/source/a/glibc-zoneinfo/glibc-zoneinfo.SlackBuild
new file mode 100755
index 000000000..6aff64595
--- /dev/null
+++ b/source/a/glibc-zoneinfo/glibc-zoneinfo.SlackBuild
@@ -0,0 +1,142 @@
+#!/bin/sh
+
+# Copyright 2015, 2016 Patrick J. Volkerding, Sebeka, Minnesota, 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.
+
+
+PKGNAM=glibc-zoneinfo
+ZONE_VERSIONS="$(echo tzdata* | cut -f1 -d . | cut -b7-11)"
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG/etc
+
+# Build and install the zoneinfo database:
+cd $TMP
+rm -rf tzcodedata-build
+mkdir tzcodedata-build
+cd tzcodedata-build
+tar xzf $CWD/tzdata?????.tar.gz
+tar xzf $CWD/tzcode?????.tar.gz
+
+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 {} \;
+
+sed -i "s,/usr/local,$(pwd),g" Makefile
+sed -i "s,/etc/zoneinfo,/zoneinfo,g" Makefile
+make
+make install
+mkdir -p $PKG/usr/share/zoneinfo
+cd etc
+cp -a zoneinfo/* $PKG/usr/share/zoneinfo
+
+# These are all identical to the normal zoneinfo files, so let's hard link
+# them to save space:
+cp -al $PKG/usr/share/zoneinfo $PKG/usr/share/posix
+mv $PKG/usr/share/posix $PKG/usr/share/zoneinfo
+
+mkdir -p $PKG/usr/share/zoneinfo/right
+cp -a zoneinfo-leaps/* $PKG/usr/share/zoneinfo/right
+
+# Remove $PKG/usr/share/zoneinfo/localtime -- the install script will
+# create it as a link to /etc/localtime.
+rm -f $PKG/usr/share/zoneinfo/localtime
+
+# Install some scripts to help select a timezone:
+mkdir -p $PKG/var/log/setup
+cp -a $CWD/timezone-scripts/setup.timeconfig $PKG/var/log/setup
+chown root:root $PKG/var/log/setup/setup.timeconfig
+chmod 755 $PKG/var/log/setup/setup.timeconfig
+mkdir -p $PKG/usr/sbin
+cp -a $CWD/timezone-scripts/timeconfig $PKG/usr/sbin
+chown root:root $PKG/usr/sbin/timeconfig
+chmod 755 $PKG/usr/sbin/timeconfig
+( cd $CWD/timezone-scripts
+ # Try to rebuild this:
+ sh output-updated-timeconfig.sh $PKG/usr/share/zoneinfo > $PKG/usr/sbin/timeconfig 2> /dev/null
+)
+# Note in timeconfig which zoneinfo database was used:
+sed -i "s/# ChangeLog:/# ChangeLog:\n# $(date '+%Y-%m-%d'): Updated timezones from tzdata${ZONE_VERSIONS}./g" $PKG/usr/sbin/timeconfig
+
+# Don't forget to add the /usr/share/zoneinfo/localtime -> /etc/localtime symlink! :)
+if [ ! -r $PKG/usr/share/zoneinfo/localtime ]; then
+ ( cd $PKG/usr/share/zoneinfo ; ln -sf /etc/localtime . )
+fi
+
+cd ..
+mkdir -p $PKG/usr/doc/glibc-zoneinfo-$ZONE_VERSIONS
+cp -a \
+ CONTRIBUTING NEWS README Theory \
+ $PKG/usr/doc/glibc-zoneinfo-$ZONE_VERSIONS
+
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+makepkg -l y -c n $TMP/glibc-zoneinfo-$ZONE_VERSIONS-noarch-$BUILD.txz
+
diff --git a/source/a/glibc-zoneinfo/slack-desc b/source/a/glibc-zoneinfo/slack-desc
new file mode 100644
index 000000000..69420f78d
--- /dev/null
+++ b/source/a/glibc-zoneinfo/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------------------------------------------------------|
+glibc-zoneinfo: glibc-zoneinfo (timezone database)
+glibc-zoneinfo:
+glibc-zoneinfo: This package allows you to configure your time zone.
+glibc-zoneinfo:
+glibc-zoneinfo: This timezone database comes from the tzdata and tzcode packages by
+glibc-zoneinfo: Arthur David Olson et.al. The latest version and more information
+glibc-zoneinfo: may be found at: http://www.iana.org/time-zones
+glibc-zoneinfo:
+glibc-zoneinfo: Use the timeconfig utility to set your local time zone.
+glibc-zoneinfo:
+glibc-zoneinfo:
diff --git a/source/a/glibc-zoneinfo/timezone-scripts/output-updated-timeconfig.sh b/source/a/glibc-zoneinfo/timezone-scripts/output-updated-timeconfig.sh
new file mode 100755
index 000000000..268e4c6cc
--- /dev/null
+++ b/source/a/glibc-zoneinfo/timezone-scripts/output-updated-timeconfig.sh
@@ -0,0 +1,60 @@
+#!/bin/sh
+# Copyright 2000, 2001, 2006, 2007, 2008, 2012 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.
+#
+
+if [ ! "$(basename "$1")" = "zoneinfo" -o ! -d "$1" ]; then
+ echo " Usage: output-updated-timeconfig.sh <zoneinfo directory>"
+ exit 1
+fi
+
+CWD=$(pwd)
+cat $CWD/parts/00
+# Sorry, I'd rather not be US-centric but some people here have a hard
+# time finding things. ;-)
+( cd $1
+ find . -type f | xargs file | grep "timezone data" | cut -f 1 -d : | cut -f 2- -d / | sort | grep "^US/" | while read zone ; do
+ echo "\"${zone}\" \" \" \\"
+ done
+)
+# Don't list right/ and posix/ zones, as these are wrong choices for most
+# people. posix/ is just a duplicate of the normal zones, while right/ do
+# not include leap seconds. Anyone actually needing something from one of
+# those trees will have no problem selecting it by manually adjusting
+# /etc/localtime.
+( cd $1
+ find . -type f | xargs file | grep "timezone data" | cut -f 1 -d : | cut -f 2- -d / | sort | grep -v "^US/" | grep -v "^posix/" | grep -v "^right/" | while read zone ; do
+ echo "\"${zone}\" \" \" \\"
+ done
+)
+cat $CWD/parts/02
+# US/ first:
+( cd $1
+ find . -type f | xargs file | grep "timezone data" | cut -f 1 -d : | cut -f 2- -d / | sort | grep "^US/" | while read zone ; do
+ echo "${zone}"
+ done
+)
+# Don't list right/ and posix/ zones:
+( cd $1
+ find . -type f | xargs file | grep "timezone data" | cut -f 1 -d : | cut -f 2- -d / | sort | grep -v "^US/" | grep -v "^posix/" | grep -v "^right/" | while read zone ; do
+ echo "${zone}"
+ done
+)
+cat $CWD/parts/04
diff --git a/source/a/glibc-zoneinfo/timezone-scripts/parts/00 b/source/a/glibc-zoneinfo/timezone-scripts/parts/00
new file mode 100644
index 000000000..678094e16
--- /dev/null
+++ b/source/a/glibc-zoneinfo/timezone-scripts/parts/00
@@ -0,0 +1,132 @@
+#!/bin/sh
+#
+# timeconfig Slackware Linux timezone configuration utility.
+#
+# Author: Patrick Volkerding <volkerdi@slackware.com>
+# Modified by: David Cantrell <david@slackware.com>, 06-Oct-2000
+#
+# ChangeLog:
+# 2014-10-22: Updated timezones from tzdata2014i. <pjv>
+# 2012-12-12: Updated timezones from tzdata2012j. <pjv>
+# 2008-03-10: Updated timezones from tzdata2008a. <pjv>
+# 2007-12-21: Updated timezones from tzdata2007j. <pjv>
+# 2006-12-03: Updated timezones from tzdata2006p. <pjv>
+# 2006-09-14: Updated timezones from tzdata2006k. <pjv>
+# 2006-08-22: Updated timezones from tzdata2006j.
+# 2006-08-13: Updated timezones from tzdata2006g.
+# 2006-03-13: Updated timezones from tzdata2006c.
+# 19-Feb-2001 Add new timezones from glibc-2.2.2.
+# 06-Oct-2000 Fixed a problem with selecting UTC time. It was writing
+# the hardwareclock file to the root disk and not your dest
+# partition. Changed the HWCLOCK_CONF variable to be
+# $T_PX/etc/hardwareclock to fix this. Thanks to David L.
+# Dickman <softbear@optonline.net> for finding this and
+# submitting a patch.
+#
+# 15-Mar-2000 Added the writeconf function to write out the
+# /etc/hardwareclock file which tells what the hardware clock
+# is set to (UTC or localtime).
+#
+# 03-Mar-2000 Reorganized script. Made one timezone set block, added
+# stage that asks the user if the hardware clock is set to
+# UTC.
+
+# setup our temp locations and variables
+TMP=/var/log/setup/tmp
+if [ -r $TMP/SeTT_PX ]; then
+ T_PX="`cat $TMP/SeTT_PX`"
+elif [ ! "$!" = "" ]; then
+ T_PX=$1
+else
+ T_PX=/
+fi
+
+# the hardware clock configuration file
+HWCLOCK_CONF=$T_PX/etc/hardwareclock
+
+# setzone( $TIMEZONE )
+#
+# This function accepts a time zone as the only parameter and sets it as
+# the default system time zone.
+setzone()
+{
+ TZ=$1
+
+ cd $T_PX/etc
+ if [ -r $T_PX/usr/share/zoneinfo/$TZ -o \
+ -r /var/log/mount/usr/share/zoneinfo/$TZ -o \
+ -L $T_PX/usr/share/zoneinfo/$TZ -o \
+ -L /var/log/mount/usr/share/zoneinfo/$TZ ]; then
+ rm -f localtime-copied-from
+ ln -sf /usr/share/zoneinfo/$TZ localtime-copied-from
+ rm -f localtime
+ cd ..
+ chroot . cp etc/localtime-copied-from etc/localtime
+ fi
+}
+
+# writeconf( $CLOCK_SET_TO )
+#
+# Writes out $HWCLOCK_CONF that tells rc.S how the hardware clock
+# value is stored.
+writeconf()
+{
+ echo "# /etc/hardwareclock" > $HWCLOCK_CONF
+ echo "#" >> $HWCLOCK_CONF
+ echo "# Tells how the hardware clock time is stored." >> $HWCLOCK_CONF
+ echo "# You should run timeconfig to edit this file." >> $HWCLOCK_CONF
+ echo >> $HWCLOCK_CONF
+ echo $1 >> $HWCLOCK_CONF
+}
+
+# ask the user if the hardware clock is set for UTC/GMT
+if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
+ ###
+ ### use color menus here
+ ###
+ dialog --title "HARDWARE CLOCK SET TO UTC?" --menu "Is the hardware clock set \
+to Coordinated Universal Time (UTC/GMT)? If it is, select YES here. If the \
+hardware clock is set to the current local time (this is how most PCs are set \
+up), then say NO here. If you are not sure what this is, you should answer NO \
+here." 13 60 2 \
+ "NO" "Hardware clock is set to local time" \
+ "YES" "Hardware clock is set to UTC" \
+ 2> $TMP/utc
+ if [ $? = 1 -o $? = 255 ]; then
+ rm -f $TMP/utc
+ exit
+ fi
+ if [ "`cat $TMP/utc`" = "YES" ]; then
+ # yes, the hardware clock is UTC
+ writeconf "UTC"
+ else # must be NO
+ writeconf "localtime"
+ fi
+ rm -f $TMP/utc
+else
+ ###
+ ### use text prompts
+ ###
+ echo "Is the hardware clock set to Coordinated Universal Time (UTC/GMT)?"
+ echo "If it is, select 'y' here. If the hardware clock is set to the"
+ echo "current local time (this is how most PCs are set up), then say 'n'"
+ echo "here. If you are not sure what this is, you should answer 'n' here."
+ echo
+ echo -n "Is your hardware clock set to UTC ([y]es, [n]o)? "
+ read HEJAZ
+
+ if [ "$HEJAZ" = "y" -o "$HEJAZ" = "Y" -o "$HEJAZ" = "YES" -o "$HEJAZ" = "yes" ]; then
+ # yes, the hardware clock is UTC
+ writeconf "UTC"
+ else
+ # default to localtime
+ writeconf "localtime"
+ fi
+fi
+
+# Now set the correct timezone link:
+if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
+ ###
+ ### use color menus here
+ ###
+ dialog --title "TIMEZONE CONFIGURATION" --menu "Please select one of the following timezones for your machine:" 21 50 13 \
diff --git a/source/a/glibc-zoneinfo/timezone-scripts/parts/01 b/source/a/glibc-zoneinfo/timezone-scripts/parts/01
new file mode 100644
index 000000000..999f67d77
--- /dev/null
+++ b/source/a/glibc-zoneinfo/timezone-scripts/parts/01
@@ -0,0 +1,585 @@
+"US/Alaska" " " \
+"US/Aleutian" " " \
+"US/Arizona" " " \
+"US/Central" " " \
+"US/East-Indiana" " " \
+"US/Eastern" " " \
+"US/Hawaii" " " \
+"US/Indiana-Starke" " " \
+"US/Michigan" " " \
+"US/Mountain" " " \
+"US/Pacific" " " \
+"US/Pacific-New" " " \
+"US/Samoa" " " \
+"Africa/Abidjan" " " \
+"Africa/Accra" " " \
+"Africa/Addis_Ababa" " " \
+"Africa/Algiers" " " \
+"Africa/Asmara" " " \
+"Africa/Asmera" " " \
+"Africa/Bamako" " " \
+"Africa/Bangui" " " \
+"Africa/Banjul" " " \
+"Africa/Bissau" " " \
+"Africa/Blantyre" " " \
+"Africa/Brazzaville" " " \
+"Africa/Bujumbura" " " \
+"Africa/Cairo" " " \
+"Africa/Casablanca" " " \
+"Africa/Ceuta" " " \
+"Africa/Conakry" " " \
+"Africa/Dakar" " " \
+"Africa/Dar_es_Salaam" " " \
+"Africa/Djibouti" " " \
+"Africa/Douala" " " \
+"Africa/El_Aaiun" " " \
+"Africa/Freetown" " " \
+"Africa/Gaborone" " " \
+"Africa/Harare" " " \
+"Africa/Johannesburg" " " \
+"Africa/Juba" " " \
+"Africa/Kampala" " " \
+"Africa/Khartoum" " " \
+"Africa/Kigali" " " \
+"Africa/Kinshasa" " " \
+"Africa/Lagos" " " \
+"Africa/Libreville" " " \
+"Africa/Lome" " " \
+"Africa/Luanda" " " \
+"Africa/Lubumbashi" " " \
+"Africa/Lusaka" " " \
+"Africa/Malabo" " " \
+"Africa/Maputo" " " \
+"Africa/Maseru" " " \
+"Africa/Mbabane" " " \
+"Africa/Mogadishu" " " \
+"Africa/Monrovia" " " \
+"Africa/Nairobi" " " \
+"Africa/Ndjamena" " " \
+"Africa/Niamey" " " \
+"Africa/Nouakchott" " " \
+"Africa/Ouagadougou" " " \
+"Africa/Porto-Novo" " " \
+"Africa/Sao_Tome" " " \
+"Africa/Timbuktu" " " \
+"Africa/Tripoli" " " \
+"Africa/Tunis" " " \
+"Africa/Windhoek" " " \
+"America/Adak" " " \
+"America/Anchorage" " " \
+"America/Anguilla" " " \
+"America/Antigua" " " \
+"America/Araguaina" " " \
+"America/Argentina/Buenos_Aires" " " \
+"America/Argentina/Catamarca" " " \
+"America/Argentina/ComodRivadavia" " " \
+"America/Argentina/Cordoba" " " \
+"America/Argentina/Jujuy" " " \
+"America/Argentina/La_Rioja" " " \
+"America/Argentina/Mendoza" " " \
+"America/Argentina/Rio_Gallegos" " " \
+"America/Argentina/Salta" " " \
+"America/Argentina/San_Juan" " " \
+"America/Argentina/San_Luis" " " \
+"America/Argentina/Tucuman" " " \
+"America/Argentina/Ushuaia" " " \
+"America/Aruba" " " \
+"America/Asuncion" " " \
+"America/Atikokan" " " \
+"America/Atka" " " \
+"America/Bahia" " " \
+"America/Bahia_Banderas" " " \
+"America/Barbados" " " \
+"America/Belem" " " \
+"America/Belize" " " \
+"America/Blanc-Sablon" " " \
+"America/Boa_Vista" " " \
+"America/Bogota" " " \
+"America/Boise" " " \
+"America/Buenos_Aires" " " \
+"America/Cambridge_Bay" " " \
+"America/Campo_Grande" " " \
+"America/Cancun" " " \
+"America/Caracas" " " \
+"America/Catamarca" " " \
+"America/Cayenne" " " \
+"America/Cayman" " " \
+"America/Chicago" " " \
+"America/Chihuahua" " " \
+"America/Coral_Harbour" " " \
+"America/Cordoba" " " \
+"America/Costa_Rica" " " \
+"America/Creston" " " \
+"America/Cuiaba" " " \
+"America/Curacao" " " \
+"America/Danmarkshavn" " " \
+"America/Dawson" " " \
+"America/Dawson_Creek" " " \
+"America/Denver" " " \
+"America/Detroit" " " \
+"America/Dominica" " " \
+"America/Edmonton" " " \
+"America/Eirunepe" " " \
+"America/El_Salvador" " " \
+"America/Ensenada" " " \
+"America/Fort_Nelson" " " \
+"America/Fort_Wayne" " " \
+"America/Fortaleza" " " \
+"America/Glace_Bay" " " \
+"America/Godthab" " " \
+"America/Goose_Bay" " " \
+"America/Grand_Turk" " " \
+"America/Grenada" " " \
+"America/Guadeloupe" " " \
+"America/Guatemala" " " \
+"America/Guayaquil" " " \
+"America/Guyana" " " \
+"America/Halifax" " " \
+"America/Havana" " " \
+"America/Hermosillo" " " \
+"America/Indiana/Indianapolis" " " \
+"America/Indiana/Knox" " " \
+"America/Indiana/Marengo" " " \
+"America/Indiana/Petersburg" " " \
+"America/Indiana/Tell_City" " " \
+"America/Indiana/Vevay" " " \
+"America/Indiana/Vincennes" " " \
+"America/Indiana/Winamac" " " \
+"America/Indianapolis" " " \
+"America/Inuvik" " " \
+"America/Iqaluit" " " \
+"America/Jamaica" " " \
+"America/Jujuy" " " \
+"America/Juneau" " " \
+"America/Kentucky/Louisville" " " \
+"America/Kentucky/Monticello" " " \
+"America/Knox_IN" " " \
+"America/Kralendijk" " " \
+"America/La_Paz" " " \
+"America/Lima" " " \
+"America/Los_Angeles" " " \
+"America/Louisville" " " \
+"America/Lower_Princes" " " \
+"America/Maceio" " " \
+"America/Managua" " " \
+"America/Manaus" " " \
+"America/Marigot" " " \
+"America/Martinique" " " \
+"America/Matamoros" " " \
+"America/Mazatlan" " " \
+"America/Mendoza" " " \
+"America/Menominee" " " \
+"America/Merida" " " \
+"America/Metlakatla" " " \
+"America/Mexico_City" " " \
+"America/Miquelon" " " \
+"America/Moncton" " " \
+"America/Monterrey" " " \
+"America/Montevideo" " " \
+"America/Montreal" " " \
+"America/Montserrat" " " \
+"America/Nassau" " " \
+"America/New_York" " " \
+"America/Nipigon" " " \
+"America/Nome" " " \
+"America/Noronha" " " \
+"America/North_Dakota/Beulah" " " \
+"America/North_Dakota/Center" " " \
+"America/North_Dakota/New_Salem" " " \
+"America/Ojinaga" " " \
+"America/Panama" " " \
+"America/Pangnirtung" " " \
+"America/Paramaribo" " " \
+"America/Phoenix" " " \
+"America/Port-au-Prince" " " \
+"America/Port_of_Spain" " " \
+"America/Porto_Acre" " " \
+"America/Porto_Velho" " " \
+"America/Puerto_Rico" " " \
+"America/Rainy_River" " " \
+"America/Rankin_Inlet" " " \
+"America/Recife" " " \
+"America/Regina" " " \
+"America/Resolute" " " \
+"America/Rio_Branco" " " \
+"America/Rosario" " " \
+"America/Santa_Isabel" " " \
+"America/Santarem" " " \
+"America/Santiago" " " \
+"America/Santo_Domingo" " " \
+"America/Sao_Paulo" " " \
+"America/Scoresbysund" " " \
+"America/Shiprock" " " \
+"America/Sitka" " " \
+"America/St_Barthelemy" " " \
+"America/St_Johns" " " \
+"America/St_Kitts" " " \
+"America/St_Lucia" " " \
+"America/St_Thomas" " " \
+"America/St_Vincent" " " \
+"America/Swift_Current" " " \
+"America/Tegucigalpa" " " \
+"America/Thule" " " \
+"America/Thunder_Bay" " " \
+"America/Tijuana" " " \
+"America/Toronto" " " \
+"America/Tortola" " " \
+"America/Vancouver" " " \
+"America/Virgin" " " \
+"America/Whitehorse" " " \
+"America/Winnipeg" " " \
+"America/Yakutat" " " \
+"America/Yellowknife" " " \
+"Antarctica/Casey" " " \
+"Antarctica/Davis" " " \
+"Antarctica/DumontDUrville" " " \
+"Antarctica/Macquarie" " " \
+"Antarctica/Mawson" " " \
+"Antarctica/McMurdo" " " \
+"Antarctica/Palmer" " " \
+"Antarctica/Rothera" " " \
+"Antarctica/South_Pole" " " \
+"Antarctica/Syowa" " " \
+"Antarctica/Troll" " " \
+"Antarctica/Vostok" " " \
+"Arctic/Longyearbyen" " " \
+"Asia/Aden" " " \
+"Asia/Almaty" " " \
+"Asia/Amman" " " \
+"Asia/Anadyr" " " \
+"Asia/Aqtau" " " \
+"Asia/Aqtobe" " " \
+"Asia/Ashgabat" " " \
+"Asia/Ashkhabad" " " \
+"Asia/Baghdad" " " \
+"Asia/Bahrain" " " \
+"Asia/Baku" " " \
+"Asia/Bangkok" " " \
+"Asia/Beirut" " " \
+"Asia/Bishkek" " " \
+"Asia/Brunei" " " \
+"Asia/Calcutta" " " \
+"Asia/Chita" " " \
+"Asia/Choibalsan" " " \
+"Asia/Chongqing" " " \
+"Asia/Chungking" " " \
+"Asia/Colombo" " " \
+"Asia/Dacca" " " \
+"Asia/Damascus" " " \
+"Asia/Dhaka" " " \
+"Asia/Dili" " " \
+"Asia/Dubai" " " \
+"Asia/Dushanbe" " " \
+"Asia/Gaza" " " \
+"Asia/Harbin" " " \
+"Asia/Hebron" " " \
+"Asia/Ho_Chi_Minh" " " \
+"Asia/Hong_Kong" " " \
+"Asia/Hovd" " " \
+"Asia/Irkutsk" " " \
+"Asia/Istanbul" " " \
+"Asia/Jakarta" " " \
+"Asia/Jayapura" " " \
+"Asia/Jerusalem" " " \
+"Asia/Kabul" " " \
+"Asia/Kamchatka" " " \
+"Asia/Karachi" " " \
+"Asia/Kashgar" " " \
+"Asia/Kathmandu" " " \
+"Asia/Katmandu" " " \
+"Asia/Khandyga" " " \
+"Asia/Kolkata" " " \
+"Asia/Krasnoyarsk" " " \
+"Asia/Kuala_Lumpur" " " \
+"Asia/Kuching" " " \
+"Asia/Kuwait" " " \
+"Asia/Macao" " " \
+"Asia/Macau" " " \
+"Asia/Magadan" " " \
+"Asia/Makassar" " " \
+"Asia/Manila" " " \
+"Asia/Muscat" " " \
+"Asia/Nicosia" " " \
+"Asia/Novokuznetsk" " " \
+"Asia/Novosibirsk" " " \
+"Asia/Omsk" " " \
+"Asia/Oral" " " \
+"Asia/Phnom_Penh" " " \
+"Asia/Pontianak" " " \
+"Asia/Pyongyang" " " \
+"Asia/Qatar" " " \
+"Asia/Qyzylorda" " " \
+"Asia/Rangoon" " " \
+"Asia/Riyadh" " " \
+"Asia/Saigon" " " \
+"Asia/Sakhalin" " " \
+"Asia/Samarkand" " " \
+"Asia/Seoul" " " \
+"Asia/Shanghai" " " \
+"Asia/Singapore" " " \
+"Asia/Srednekolymsk" " " \
+"Asia/Taipei" " " \
+"Asia/Tashkent" " " \
+"Asia/Tbilisi" " " \
+"Asia/Tehran" " " \
+"Asia/Tel_Aviv" " " \
+"Asia/Thimbu" " " \
+"Asia/Thimphu" " " \
+"Asia/Tokyo" " " \
+"Asia/Ujung_Pandang" " " \
+"Asia/Ulaanbaatar" " " \
+"Asia/Ulan_Bator" " " \
+"Asia/Urumqi" " " \
+"Asia/Ust-Nera" " " \
+"Asia/Vientiane" " " \
+"Asia/Vladivostok" " " \
+"Asia/Yakutsk" " " \
+"Asia/Yekaterinburg" " " \
+"Asia/Yerevan" " " \
+"Atlantic/Azores" " " \
+"Atlantic/Bermuda" " " \
+"Atlantic/Canary" " " \
+"Atlantic/Cape_Verde" " " \
+"Atlantic/Faeroe" " " \
+"Atlantic/Faroe" " " \
+"Atlantic/Jan_Mayen" " " \
+"Atlantic/Madeira" " " \
+"Atlantic/Reykjavik" " " \
+"Atlantic/South_Georgia" " " \
+"Atlantic/St_Helena" " " \
+"Atlantic/Stanley" " " \
+"Australia/ACT" " " \
+"Australia/Adelaide" " " \
+"Australia/Brisbane" " " \
+"Australia/Broken_Hill" " " \
+"Australia/Canberra" " " \
+"Australia/Currie" " " \
+"Australia/Darwin" " " \
+"Australia/Eucla" " " \
+"Australia/Hobart" " " \
+"Australia/LHI" " " \
+"Australia/Lindeman" " " \
+"Australia/Lord_Howe" " " \
+"Australia/Melbourne" " " \
+"Australia/NSW" " " \
+"Australia/North" " " \
+"Australia/Perth" " " \
+"Australia/Queensland" " " \
+"Australia/South" " " \
+"Australia/Sydney" " " \
+"Australia/Tasmania" " " \
+"Australia/Victoria" " " \
+"Australia/West" " " \
+"Australia/Yancowinna" " " \
+"Brazil/Acre" " " \
+"Brazil/DeNoronha" " " \
+"Brazil/East" " " \
+"Brazil/West" " " \
+"CET" " " \
+"CST6CDT" " " \
+"Canada/Atlantic" " " \
+"Canada/Central" " " \
+"Canada/East-Saskatchewan" " " \
+"Canada/Eastern" " " \
+"Canada/Mountain" " " \
+"Canada/Newfoundland" " " \
+"Canada/Pacific" " " \
+"Canada/Saskatchewan" " " \
+"Canada/Yukon" " " \
+"Chile/Continental" " " \
+"Chile/EasterIsland" " " \
+"Cuba" " " \
+"EET" " " \
+"EST" " " \
+"EST5EDT" " " \
+"Egypt" " " \
+"Eire" " " \
+"Etc/GMT" " " \
+"Etc/GMT+0" " " \
+"Etc/GMT+1" " " \
+"Etc/GMT+10" " " \
+"Etc/GMT+11" " " \
+"Etc/GMT+12" " " \
+"Etc/GMT+2" " " \
+"Etc/GMT+3" " " \
+"Etc/GMT+4" " " \
+"Etc/GMT+5" " " \
+"Etc/GMT+6" " " \
+"Etc/GMT+7" " " \
+"Etc/GMT+8" " " \
+"Etc/GMT+9" " " \
+"Etc/GMT-0" " " \
+"Etc/GMT-1" " " \
+"Etc/GMT-10" " " \
+"Etc/GMT-11" " " \
+"Etc/GMT-12" " " \
+"Etc/GMT-13" " " \
+"Etc/GMT-14" " " \
+"Etc/GMT-2" " " \
+"Etc/GMT-3" " " \
+"Etc/GMT-4" " " \
+"Etc/GMT-5" " " \
+"Etc/GMT-6" " " \
+"Etc/GMT-7" " " \
+"Etc/GMT-8" " " \
+"Etc/GMT-9" " " \
+"Etc/GMT0" " " \
+"Etc/Greenwich" " " \
+"Etc/UCT" " " \
+"Etc/UTC" " " \
+"Etc/Universal" " " \
+"Etc/Zulu" " " \
+"Europe/Amsterdam" " " \
+"Europe/Andorra" " " \
+"Europe/Athens" " " \
+"Europe/Belfast" " " \
+"Europe/Belgrade" " " \
+"Europe/Berlin" " " \
+"Europe/Bratislava" " " \
+"Europe/Brussels" " " \
+"Europe/Bucharest" " " \
+"Europe/Budapest" " " \
+"Europe/Busingen" " " \
+"Europe/Chisinau" " " \
+"Europe/Copenhagen" " " \
+"Europe/Dublin" " " \
+"Europe/Gibraltar" " " \
+"Europe/Guernsey" " " \
+"Europe/Helsinki" " " \
+"Europe/Isle_of_Man" " " \
+"Europe/Istanbul" " " \
+"Europe/Jersey" " " \
+"Europe/Kaliningrad" " " \
+"Europe/Kiev" " " \
+"Europe/Lisbon" " " \
+"Europe/Ljubljana" " " \
+"Europe/London" " " \
+"Europe/Luxembourg" " " \
+"Europe/Madrid" " " \
+"Europe/Malta" " " \
+"Europe/Mariehamn" " " \
+"Europe/Minsk" " " \
+"Europe/Monaco" " " \
+"Europe/Moscow" " " \
+"Europe/Nicosia" " " \
+"Europe/Oslo" " " \
+"Europe/Paris" " " \
+"Europe/Podgorica" " " \
+"Europe/Prague" " " \
+"Europe/Riga" " " \
+"Europe/Rome" " " \
+"Europe/Samara" " " \
+"Europe/San_Marino" " " \
+"Europe/Sarajevo" " " \
+"Europe/Simferopol" " " \
+"Europe/Skopje" " " \
+"Europe/Sofia" " " \
+"Europe/Stockholm" " " \
+"Europe/Tallinn" " " \
+"Europe/Tirane" " " \
+"Europe/Tiraspol" " " \
+"Europe/Uzhgorod" " " \
+"Europe/Vaduz" " " \
+"Europe/Vatican" " " \
+"Europe/Vienna" " " \
+"Europe/Vilnius" " " \
+"Europe/Volgograd" " " \
+"Europe/Warsaw" " " \
+"Europe/Zagreb" " " \
+"Europe/Zaporozhye" " " \
+"Europe/Zurich" " " \
+"Factory" " " \
+"GB" " " \
+"GB-Eire" " " \
+"GMT" " " \
+"GMT+0" " " \
+"GMT-0" " " \
+"GMT0" " " \
+"Greenwich" " " \
+"HST" " " \
+"Hongkong" " " \
+"Iceland" " " \
+"Indian/Antananarivo" " " \
+"Indian/Chagos" " " \
+"Indian/Christmas" " " \
+"Indian/Cocos" " " \
+"Indian/Comoro" " " \
+"Indian/Kerguelen" " " \
+"Indian/Mahe" " " \
+"Indian/Maldives" " " \
+"Indian/Mauritius" " " \
+"Indian/Mayotte" " " \
+"Indian/Reunion" " " \
+"Iran" " " \
+"Israel" " " \
+"Jamaica" " " \
+"Japan" " " \
+"Kwajalein" " " \
+"Libya" " " \
+"MET" " " \
+"MST" " " \
+"MST7MDT" " " \
+"Mexico/BajaNorte" " " \
+"Mexico/BajaSur" " " \
+"Mexico/General" " " \
+"NZ" " " \
+"NZ-CHAT" " " \
+"Navajo" " " \
+"PRC" " " \
+"PST8PDT" " " \
+"Pacific/Apia" " " \
+"Pacific/Auckland" " " \
+"Pacific/Bougainville" " " \
+"Pacific/Chatham" " " \
+"Pacific/Chuuk" " " \
+"Pacific/Easter" " " \
+"Pacific/Efate" " " \
+"Pacific/Enderbury" " " \
+"Pacific/Fakaofo" " " \
+"Pacific/Fiji" " " \
+"Pacific/Funafuti" " " \
+"Pacific/Galapagos" " " \
+"Pacific/Gambier" " " \
+"Pacific/Guadalcanal" " " \
+"Pacific/Guam" " " \
+"Pacific/Honolulu" " " \
+"Pacific/Johnston" " " \
+"Pacific/Kiritimati" " " \
+"Pacific/Kosrae" " " \
+"Pacific/Kwajalein" " " \
+"Pacific/Majuro" " " \
+"Pacific/Marquesas" " " \
+"Pacific/Midway" " " \
+"Pacific/Nauru" " " \
+"Pacific/Niue" " " \
+"Pacific/Norfolk" " " \
+"Pacific/Noumea" " " \
+"Pacific/Pago_Pago" " " \
+"Pacific/Palau" " " \
+"Pacific/Pitcairn" " " \
+"Pacific/Pohnpei" " " \
+"Pacific/Ponape" " " \
+"Pacific/Port_Moresby" " " \
+"Pacific/Rarotonga" " " \
+"Pacific/Saipan" " " \
+"Pacific/Samoa" " " \
+"Pacific/Tahiti" " " \
+"Pacific/Tarawa" " " \
+"Pacific/Tongatapu" " " \
+"Pacific/Truk" " " \
+"Pacific/Wake" " " \
+"Pacific/Wallis" " " \
+"Pacific/Yap" " " \
+"Poland" " " \
+"Portugal" " " \
+"ROC" " " \
+"ROK" " " \
+"Singapore" " " \
+"Turkey" " " \
+"UCT" " " \
+"UTC" " " \
+"Universal" " " \
+"W-SU" " " \
+"WET" " " \
+"Zulu" " " \
+"posixrules" " " \
diff --git a/source/a/glibc-zoneinfo/timezone-scripts/parts/02 b/source/a/glibc-zoneinfo/timezone-scripts/parts/02
new file mode 100644
index 000000000..bd5a50bb0
--- /dev/null
+++ b/source/a/glibc-zoneinfo/timezone-scripts/parts/02
@@ -0,0 +1,28 @@
+ 2> $TMP/tz
+
+ if [ $? = 1 -o $? = 255 ]; then
+ rm -f $TMP/tz
+ exit
+ fi
+
+ TIMEZONE="`cat $TMP/tz`"
+ rm -f $TMP/tz
+
+ setzone $TIMEZONE
+ exit
+else
+ ###
+ ### use text prompts
+ ###
+ while [ 0 ]; do
+ echo -n "Would you like to configure your timezone ([y]es, [n]o)? "
+ read TIMECONF;
+ echo
+
+ if [ "$TIMECONF" = "n" ]; then
+ break
+ fi
+
+ cat << EOF
+Select one of these timezones:
+
diff --git a/source/a/glibc-zoneinfo/timezone-scripts/parts/03 b/source/a/glibc-zoneinfo/timezone-scripts/parts/03
new file mode 100644
index 000000000..f595dfab0
--- /dev/null
+++ b/source/a/glibc-zoneinfo/timezone-scripts/parts/03
@@ -0,0 +1,585 @@
+US/Alaska
+US/Aleutian
+US/Arizona
+US/Central
+US/East-Indiana
+US/Eastern
+US/Hawaii
+US/Indiana-Starke
+US/Michigan
+US/Mountain
+US/Pacific
+US/Pacific-New
+US/Samoa
+Africa/Abidjan
+Africa/Accra
+Africa/Addis_Ababa
+Africa/Algiers
+Africa/Asmara
+Africa/Asmera
+Africa/Bamako
+Africa/Bangui
+Africa/Banjul
+Africa/Bissau
+Africa/Blantyre
+Africa/Brazzaville
+Africa/Bujumbura
+Africa/Cairo
+Africa/Casablanca
+Africa/Ceuta
+Africa/Conakry
+Africa/Dakar
+Africa/Dar_es_Salaam
+Africa/Djibouti
+Africa/Douala
+Africa/El_Aaiun
+Africa/Freetown
+Africa/Gaborone
+Africa/Harare
+Africa/Johannesburg
+Africa/Juba
+Africa/Kampala
+Africa/Khartoum
+Africa/Kigali
+Africa/Kinshasa
+Africa/Lagos
+Africa/Libreville
+Africa/Lome
+Africa/Luanda
+Africa/Lubumbashi
+Africa/Lusaka
+Africa/Malabo
+Africa/Maputo
+Africa/Maseru
+Africa/Mbabane
+Africa/Mogadishu
+Africa/Monrovia
+Africa/Nairobi
+Africa/Ndjamena
+Africa/Niamey
+Africa/Nouakchott
+Africa/Ouagadougou
+Africa/Porto-Novo
+Africa/Sao_Tome
+Africa/Timbuktu
+Africa/Tripoli
+Africa/Tunis
+Africa/Windhoek
+America/Adak
+America/Anchorage
+America/Anguilla
+America/Antigua
+America/Araguaina
+America/Argentina/Buenos_Aires
+America/Argentina/Catamarca
+America/Argentina/ComodRivadavia
+America/Argentina/Cordoba
+America/Argentina/Jujuy
+America/Argentina/La_Rioja
+America/Argentina/Mendoza
+America/Argentina/Rio_Gallegos
+America/Argentina/Salta
+America/Argentina/San_Juan
+America/Argentina/San_Luis
+America/Argentina/Tucuman
+America/Argentina/Ushuaia
+America/Aruba
+America/Asuncion
+America/Atikokan
+America/Atka
+America/Bahia
+America/Bahia_Banderas
+America/Barbados
+America/Belem
+America/Belize
+America/Blanc-Sablon
+America/Boa_Vista
+America/Bogota
+America/Boise
+America/Buenos_Aires
+America/Cambridge_Bay
+America/Campo_Grande
+America/Cancun
+America/Caracas
+America/Catamarca
+America/Cayenne
+America/Cayman
+America/Chicago
+America/Chihuahua
+America/Coral_Harbour
+America/Cordoba
+America/Costa_Rica
+America/Creston
+America/Cuiaba
+America/Curacao
+America/Danmarkshavn
+America/Dawson
+America/Dawson_Creek
+America/Denver
+America/Detroit
+America/Dominica
+America/Edmonton
+America/Eirunepe
+America/El_Salvador
+America/Ensenada
+America/Fort_Nelson
+America/Fort_Wayne
+America/Fortaleza
+America/Glace_Bay
+America/Godthab
+America/Goose_Bay
+America/Grand_Turk
+America/Grenada
+America/Guadeloupe
+America/Guatemala
+America/Guayaquil
+America/Guyana
+America/Halifax
+America/Havana
+America/Hermosillo
+America/Indiana/Indianapolis
+America/Indiana/Knox
+America/Indiana/Marengo
+America/Indiana/Petersburg
+America/Indiana/Tell_City
+America/Indiana/Vevay
+America/Indiana/Vincennes
+America/Indiana/Winamac
+America/Indianapolis
+America/Inuvik
+America/Iqaluit
+America/Jamaica
+America/Jujuy
+America/Juneau
+America/Kentucky/Louisville
+America/Kentucky/Monticello
+America/Knox_IN
+America/Kralendijk
+America/La_Paz
+America/Lima
+America/Los_Angeles
+America/Louisville
+America/Lower_Princes
+America/Maceio
+America/Managua
+America/Manaus
+America/Marigot
+America/Martinique
+America/Matamoros
+America/Mazatlan
+America/Mendoza
+America/Menominee
+America/Merida
+America/Metlakatla
+America/Mexico_City
+America/Miquelon
+America/Moncton
+America/Monterrey
+America/Montevideo
+America/Montreal
+America/Montserrat
+America/Nassau
+America/New_York
+America/Nipigon
+America/Nome
+America/Noronha
+America/North_Dakota/Beulah
+America/North_Dakota/Center
+America/North_Dakota/New_Salem
+America/Ojinaga
+America/Panama
+America/Pangnirtung
+America/Paramaribo
+America/Phoenix
+America/Port-au-Prince
+America/Port_of_Spain
+America/Porto_Acre
+America/Porto_Velho
+America/Puerto_Rico
+America/Rainy_River
+America/Rankin_Inlet
+America/Recife
+America/Regina
+America/Resolute
+America/Rio_Branco
+America/Rosario
+America/Santa_Isabel
+America/Santarem
+America/Santiago
+America/Santo_Domingo
+America/Sao_Paulo
+America/Scoresbysund
+America/Shiprock
+America/Sitka
+America/St_Barthelemy
+America/St_Johns
+America/St_Kitts
+America/St_Lucia
+America/St_Thomas
+America/St_Vincent
+America/Swift_Current
+America/Tegucigalpa
+America/Thule
+America/Thunder_Bay
+America/Tijuana
+America/Toronto
+America/Tortola
+America/Vancouver
+America/Virgin
+America/Whitehorse
+America/Winnipeg
+America/Yakutat
+America/Yellowknife
+Antarctica/Casey
+Antarctica/Davis
+Antarctica/DumontDUrville
+Antarctica/Macquarie
+Antarctica/Mawson
+Antarctica/McMurdo
+Antarctica/Palmer
+Antarctica/Rothera
+Antarctica/South_Pole
+Antarctica/Syowa
+Antarctica/Troll
+Antarctica/Vostok
+Arctic/Longyearbyen
+Asia/Aden
+Asia/Almaty
+Asia/Amman
+Asia/Anadyr
+Asia/Aqtau
+Asia/Aqtobe
+Asia/Ashgabat
+Asia/Ashkhabad
+Asia/Baghdad
+Asia/Bahrain
+Asia/Baku
+Asia/Bangkok
+Asia/Beirut
+Asia/Bishkek
+Asia/Brunei
+Asia/Calcutta
+Asia/Chita
+Asia/Choibalsan
+Asia/Chongqing
+Asia/Chungking
+Asia/Colombo
+Asia/Dacca
+Asia/Damascus
+Asia/Dhaka
+Asia/Dili
+Asia/Dubai
+Asia/Dushanbe
+Asia/Gaza
+Asia/Harbin
+Asia/Hebron
+Asia/Ho_Chi_Minh
+Asia/Hong_Kong
+Asia/Hovd
+Asia/Irkutsk
+Asia/Istanbul
+Asia/Jakarta
+Asia/Jayapura
+Asia/Jerusalem
+Asia/Kabul
+Asia/Kamchatka
+Asia/Karachi
+Asia/Kashgar
+Asia/Kathmandu
+Asia/Katmandu
+Asia/Khandyga
+Asia/Kolkata
+Asia/Krasnoyarsk
+Asia/Kuala_Lumpur
+Asia/Kuching
+Asia/Kuwait
+Asia/Macao
+Asia/Macau
+Asia/Magadan
+Asia/Makassar
+Asia/Manila
+Asia/Muscat
+Asia/Nicosia
+Asia/Novokuznetsk
+Asia/Novosibirsk
+Asia/Omsk
+Asia/Oral
+Asia/Phnom_Penh
+Asia/Pontianak
+Asia/Pyongyang
+Asia/Qatar
+Asia/Qyzylorda
+Asia/Rangoon
+Asia/Riyadh
+Asia/Saigon
+Asia/Sakhalin
+Asia/Samarkand
+Asia/Seoul
+Asia/Shanghai
+Asia/Singapore
+Asia/Srednekolymsk
+Asia/Taipei
+Asia/Tashkent
+Asia/Tbilisi
+Asia/Tehran
+Asia/Tel_Aviv
+Asia/Thimbu
+Asia/Thimphu
+Asia/Tokyo
+Asia/Ujung_Pandang
+Asia/Ulaanbaatar
+Asia/Ulan_Bator
+Asia/Urumqi
+Asia/Ust-Nera
+Asia/Vientiane
+Asia/Vladivostok
+Asia/Yakutsk
+Asia/Yekaterinburg
+Asia/Yerevan
+Atlantic/Azores
+Atlantic/Bermuda
+Atlantic/Canary
+Atlantic/Cape_Verde
+Atlantic/Faeroe
+Atlantic/Faroe
+Atlantic/Jan_Mayen
+Atlantic/Madeira
+Atlantic/Reykjavik
+Atlantic/South_Georgia
+Atlantic/St_Helena
+Atlantic/Stanley
+Australia/ACT
+Australia/Adelaide
+Australia/Brisbane
+Australia/Broken_Hill
+Australia/Canberra
+Australia/Currie
+Australia/Darwin
+Australia/Eucla
+Australia/Hobart
+Australia/LHI
+Australia/Lindeman
+Australia/Lord_Howe
+Australia/Melbourne
+Australia/NSW
+Australia/North
+Australia/Perth
+Australia/Queensland
+Australia/South
+Australia/Sydney
+Australia/Tasmania
+Australia/Victoria
+Australia/West
+Australia/Yancowinna
+Brazil/Acre
+Brazil/DeNoronha
+Brazil/East
+Brazil/West
+CET
+CST6CDT
+Canada/Atlantic
+Canada/Central
+Canada/East-Saskatchewan
+Canada/Eastern
+Canada/Mountain
+Canada/Newfoundland
+Canada/Pacific
+Canada/Saskatchewan
+Canada/Yukon
+Chile/Continental
+Chile/EasterIsland
+Cuba
+EET
+EST
+EST5EDT
+Egypt
+Eire
+Etc/GMT
+Etc/GMT+0
+Etc/GMT+1
+Etc/GMT+10
+Etc/GMT+11
+Etc/GMT+12
+Etc/GMT+2
+Etc/GMT+3
+Etc/GMT+4
+Etc/GMT+5
+Etc/GMT+6
+Etc/GMT+7
+Etc/GMT+8
+Etc/GMT+9
+Etc/GMT-0
+Etc/GMT-1
+Etc/GMT-10
+Etc/GMT-11
+Etc/GMT-12
+Etc/GMT-13
+Etc/GMT-14
+Etc/GMT-2
+Etc/GMT-3
+Etc/GMT-4
+Etc/GMT-5
+Etc/GMT-6
+Etc/GMT-7
+Etc/GMT-8
+Etc/GMT-9
+Etc/GMT0
+Etc/Greenwich
+Etc/UCT
+Etc/UTC
+Etc/Universal
+Etc/Zulu
+Europe/Amsterdam
+Europe/Andorra
+Europe/Athens
+Europe/Belfast
+Europe/Belgrade
+Europe/Berlin
+Europe/Bratislava
+Europe/Brussels
+Europe/Bucharest
+Europe/Budapest
+Europe/Busingen
+Europe/Chisinau
+Europe/Copenhagen
+Europe/Dublin
+Europe/Gibraltar
+Europe/Guernsey
+Europe/Helsinki
+Europe/Isle_of_Man
+Europe/Istanbul
+Europe/Jersey
+Europe/Kaliningrad
+Europe/Kiev
+Europe/Lisbon
+Europe/Ljubljana
+Europe/London
+Europe/Luxembourg
+Europe/Madrid
+Europe/Malta
+Europe/Mariehamn
+Europe/Minsk
+Europe/Monaco
+Europe/Moscow
+Europe/Nicosia
+Europe/Oslo
+Europe/Paris
+Europe/Podgorica
+Europe/Prague
+Europe/Riga
+Europe/Rome
+Europe/Samara
+Europe/San_Marino
+Europe/Sarajevo
+Europe/Simferopol
+Europe/Skopje
+Europe/Sofia
+Europe/Stockholm
+Europe/Tallinn
+Europe/Tirane
+Europe/Tiraspol
+Europe/Uzhgorod
+Europe/Vaduz
+Europe/Vatican
+Europe/Vienna
+Europe/Vilnius
+Europe/Volgograd
+Europe/Warsaw
+Europe/Zagreb
+Europe/Zaporozhye
+Europe/Zurich
+Factory
+GB
+GB-Eire
+GMT
+GMT+0
+GMT-0
+GMT0
+Greenwich
+HST
+Hongkong
+Iceland
+Indian/Antananarivo
+Indian/Chagos
+Indian/Christmas
+Indian/Cocos
+Indian/Comoro
+Indian/Kerguelen
+Indian/Mahe
+Indian/Maldives
+Indian/Mauritius
+Indian/Mayotte
+Indian/Reunion
+Iran
+Israel
+Jamaica
+Japan
+Kwajalein
+Libya
+MET
+MST
+MST7MDT
+Mexico/BajaNorte
+Mexico/BajaSur
+Mexico/General
+NZ
+NZ-CHAT
+Navajo
+PRC
+PST8PDT
+Pacific/Apia
+Pacific/Auckland
+Pacific/Bougainville
+Pacific/Chatham
+Pacific/Chuuk
+Pacific/Easter
+Pacific/Efate
+Pacific/Enderbury
+Pacific/Fakaofo
+Pacific/Fiji
+Pacific/Funafuti
+Pacific/Galapagos
+Pacific/Gambier
+Pacific/Guadalcanal
+Pacific/Guam
+Pacific/Honolulu
+Pacific/Johnston
+Pacific/Kiritimati
+Pacific/Kosrae
+Pacific/Kwajalein
+Pacific/Majuro
+Pacific/Marquesas
+Pacific/Midway
+Pacific/Nauru
+Pacific/Niue
+Pacific/Norfolk
+Pacific/Noumea
+Pacific/Pago_Pago
+Pacific/Palau
+Pacific/Pitcairn
+Pacific/Pohnpei
+Pacific/Ponape
+Pacific/Port_Moresby
+Pacific/Rarotonga
+Pacific/Saipan
+Pacific/Samoa
+Pacific/Tahiti
+Pacific/Tarawa
+Pacific/Tongatapu
+Pacific/Truk
+Pacific/Wake
+Pacific/Wallis
+Pacific/Yap
+Poland
+Portugal
+ROC
+ROK
+Singapore
+Turkey
+UCT
+UTC
+Universal
+W-SU
+WET
+Zulu
+posixrules
diff --git a/source/a/glibc-zoneinfo/timezone-scripts/parts/04 b/source/a/glibc-zoneinfo/timezone-scripts/parts/04
new file mode 100644
index 000000000..5b0da0e83
--- /dev/null
+++ b/source/a/glibc-zoneinfo/timezone-scripts/parts/04
@@ -0,0 +1,33 @@
+
+Type it at the prompt below exactly as it appears above. (NOTE: If you don't
+see your timezone, use "timeconfig" again after booting for the verbose list)
+
+EOF
+ echo -n "Timezone? "
+ read TIMEZONE;
+ echo
+
+ if [ -n "$TIMEZONE" -a \
+ -r $T_PX/usr/share/zoneinfo/$TIMEZONE -o \
+ -r /var/log/mount/usr/share/zoneinfo/$TIMEZONE -o \
+ -L $T_PX/usr/share/zoneinfo/$TIMEZONE -o \
+ -L /var/log/mount/usr/share/zoneinfo/$TIMEZONE ]; then
+ echo "Creating link from $TIMEZONE to localtime in /etc..."
+ echo
+ setzone $TIMEZONE
+ exit
+ else
+ cat << EOF
+
+Timezone $TIMEZONE could not be found. You may try again if you wish.
+Make sure you type the name exactly as it appears - this configuration script
+is case sensitive.
+
+Press [enter] to continue.
+
+EOF
+ read JUNK;
+ fi
+ done
+fi
+
diff --git a/source/a/glibc-zoneinfo/timezone-scripts/parts/README b/source/a/glibc-zoneinfo/timezone-scripts/parts/README
new file mode 100644
index 000000000..80d5cf5b4
--- /dev/null
+++ b/source/a/glibc-zoneinfo/timezone-scripts/parts/README
@@ -0,0 +1,2 @@
+Files 01 and 03 are samples, showing the format, and are
+not necessarily up to date...
diff --git a/source/a/glibc-zoneinfo/timezone-scripts/setup.timeconfig b/source/a/glibc-zoneinfo/timezone-scripts/setup.timeconfig
new file mode 100644
index 000000000..81ff7055f
--- /dev/null
+++ b/source/a/glibc-zoneinfo/timezone-scripts/setup.timeconfig
@@ -0,0 +1,3 @@
+#!/bin/sh
+#BLURB="Select your timezone"
+sh usr/sbin/timeconfig $*
diff --git a/source/a/glibc-zoneinfo/timezone-scripts/timeconfig b/source/a/glibc-zoneinfo/timezone-scripts/timeconfig
new file mode 100644
index 000000000..0fa59ac02
--- /dev/null
+++ b/source/a/glibc-zoneinfo/timezone-scripts/timeconfig
@@ -0,0 +1,1363 @@
+#!/bin/sh
+#
+# timeconfig Slackware Linux timezone configuration utility.
+#
+# Author: Patrick Volkerding <volkerdi@slackware.com>
+# Modified by: David Cantrell <david@slackware.com>, 06-Oct-2000
+#
+# ChangeLog:
+# 2014-10-22: Updated timezones from tzdata2014i. <pjv>
+# 2012-12-12: Updated timezones from tzdata2012j. <pjv>
+# 2008-03-10: Updated timezones from tzdata2008a. <pjv>
+# 2007-12-21: Updated timezones from tzdata2007j. <pjv>
+# 2006-12-03: Updated timezones from tzdata2006p. <pjv>
+# 2006-09-14: Updated timezones from tzdata2006k. <pjv>
+# 2006-08-22: Updated timezones from tzdata2006j.
+# 2006-08-13: Updated timezones from tzdata2006g.
+# 2006-03-13: Updated timezones from tzdata2006c.
+# 19-Feb-2001 Add new timezones from glibc-2.2.2.
+# 06-Oct-2000 Fixed a problem with selecting UTC time. It was writing
+# the hardwareclock file to the root disk and not your dest
+# partition. Changed the HWCLOCK_CONF variable to be
+# $T_PX/etc/hardwareclock to fix this. Thanks to David L.
+# Dickman <softbear@optonline.net> for finding this and
+# submitting a patch.
+#
+# 15-Mar-2000 Added the writeconf function to write out the
+# /etc/hardwareclock file which tells what the hardware clock
+# is set to (UTC or localtime).
+#
+# 03-Mar-2000 Reorganized script. Made one timezone set block, added
+# stage that asks the user if the hardware clock is set to
+# UTC.
+
+# setup our temp locations and variables
+TMP=/var/log/setup/tmp
+if [ -r $TMP/SeTT_PX ]; then
+ T_PX="`cat $TMP/SeTT_PX`"
+elif [ ! "$!" = "" ]; then
+ T_PX=$1
+else
+ T_PX=/
+fi
+
+# the hardware clock configuration file
+HWCLOCK_CONF=$T_PX/etc/hardwareclock
+
+# setzone( $TIMEZONE )
+#
+# This function accepts a time zone as the only parameter and sets it as
+# the default system time zone.
+setzone()
+{
+ TZ=$1
+
+ cd $T_PX/etc
+ if [ -r $T_PX/usr/share/zoneinfo/$TZ -o \
+ -r /var/log/mount/usr/share/zoneinfo/$TZ -o \
+ -L $T_PX/usr/share/zoneinfo/$TZ -o \
+ -L /var/log/mount/usr/share/zoneinfo/$TZ ]; then
+ rm -f localtime-copied-from
+ ln -sf /usr/share/zoneinfo/$TZ localtime-copied-from
+ rm -f localtime
+ cd ..
+ chroot . cp etc/localtime-copied-from etc/localtime
+ fi
+}
+
+# writeconf( $CLOCK_SET_TO )
+#
+# Writes out $HWCLOCK_CONF that tells rc.S how the hardware clock
+# value is stored.
+writeconf()
+{
+ echo "# /etc/hardwareclock" > $HWCLOCK_CONF
+ echo "#" >> $HWCLOCK_CONF
+ echo "# Tells how the hardware clock time is stored." >> $HWCLOCK_CONF
+ echo "# You should run timeconfig to edit this file." >> $HWCLOCK_CONF
+ echo >> $HWCLOCK_CONF
+ echo $1 >> $HWCLOCK_CONF
+}
+
+# ask the user if the hardware clock is set for UTC/GMT
+if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
+ ###
+ ### use color menus here
+ ###
+ dialog --title "HARDWARE CLOCK SET TO UTC?" --menu "Is the hardware clock set \
+to Coordinated Universal Time (UTC/GMT)? If it is, select YES here. If the \
+hardware clock is set to the current local time (this is how most PCs are set \
+up), then say NO here. If you are not sure what this is, you should answer NO \
+here." 13 60 2 \
+ "NO" "Hardware clock is set to local time" \
+ "YES" "Hardware clock is set to UTC" \
+ 2> $TMP/utc
+ if [ $? = 1 -o $? = 255 ]; then
+ rm -f $TMP/utc
+ exit
+ fi
+ if [ "`cat $TMP/utc`" = "YES" ]; then
+ # yes, the hardware clock is UTC
+ writeconf "UTC"
+ else # must be NO
+ writeconf "localtime"
+ fi
+ rm -f $TMP/utc
+else
+ ###
+ ### use text prompts
+ ###
+ echo "Is the hardware clock set to Coordinated Universal Time (UTC/GMT)?"
+ echo "If it is, select 'y' here. If the hardware clock is set to the"
+ echo "current local time (this is how most PCs are set up), then say 'n'"
+ echo "here. If you are not sure what this is, you should answer 'n' here."
+ echo
+ echo -n "Is your hardware clock set to UTC ([y]es, [n]o)? "
+ read HEJAZ
+
+ if [ "$HEJAZ" = "y" -o "$HEJAZ" = "Y" -o "$HEJAZ" = "YES" -o "$HEJAZ" = "yes" ]; then
+ # yes, the hardware clock is UTC
+ writeconf "UTC"
+ else
+ # default to localtime
+ writeconf "localtime"
+ fi
+fi
+
+# Now set the correct timezone link:
+if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
+ ###
+ ### use color menus here
+ ###
+ dialog --title "TIMEZONE CONFIGURATION" --menu "Please select one of the following timezones for your machine:" 21 50 13 \
+"US/Alaska" " " \
+"US/Aleutian" " " \
+"US/Arizona" " " \
+"US/Central" " " \
+"US/East-Indiana" " " \
+"US/Eastern" " " \
+"US/Hawaii" " " \
+"US/Indiana-Starke" " " \
+"US/Michigan" " " \
+"US/Mountain" " " \
+"US/Pacific" " " \
+"US/Pacific-New" " " \
+"US/Samoa" " " \
+"Africa/Abidjan" " " \
+"Africa/Accra" " " \
+"Africa/Addis_Ababa" " " \
+"Africa/Algiers" " " \
+"Africa/Asmara" " " \
+"Africa/Asmera" " " \
+"Africa/Bamako" " " \
+"Africa/Bangui" " " \
+"Africa/Banjul" " " \
+"Africa/Bissau" " " \
+"Africa/Blantyre" " " \
+"Africa/Brazzaville" " " \
+"Africa/Bujumbura" " " \
+"Africa/Cairo" " " \
+"Africa/Casablanca" " " \
+"Africa/Ceuta" " " \
+"Africa/Conakry" " " \
+"Africa/Dakar" " " \
+"Africa/Dar_es_Salaam" " " \
+"Africa/Djibouti" " " \
+"Africa/Douala" " " \
+"Africa/El_Aaiun" " " \
+"Africa/Freetown" " " \
+"Africa/Gaborone" " " \
+"Africa/Harare" " " \
+"Africa/Johannesburg" " " \
+"Africa/Juba" " " \
+"Africa/Kampala" " " \
+"Africa/Khartoum" " " \
+"Africa/Kigali" " " \
+"Africa/Kinshasa" " " \
+"Africa/Lagos" " " \
+"Africa/Libreville" " " \
+"Africa/Lome" " " \
+"Africa/Luanda" " " \
+"Africa/Lubumbashi" " " \
+"Africa/Lusaka" " " \
+"Africa/Malabo" " " \
+"Africa/Maputo" " " \
+"Africa/Maseru" " " \
+"Africa/Mbabane" " " \
+"Africa/Mogadishu" " " \
+"Africa/Monrovia" " " \
+"Africa/Nairobi" " " \
+"Africa/Ndjamena" " " \
+"Africa/Niamey" " " \
+"Africa/Nouakchott" " " \
+"Africa/Ouagadougou" " " \
+"Africa/Porto-Novo" " " \
+"Africa/Sao_Tome" " " \
+"Africa/Timbuktu" " " \
+"Africa/Tripoli" " " \
+"Africa/Tunis" " " \
+"Africa/Windhoek" " " \
+"America/Adak" " " \
+"America/Anchorage" " " \
+"America/Anguilla" " " \
+"America/Antigua" " " \
+"America/Araguaina" " " \
+"America/Argentina/Buenos_Aires" " " \
+"America/Argentina/Catamarca" " " \
+"America/Argentina/ComodRivadavia" " " \
+"America/Argentina/Cordoba" " " \
+"America/Argentina/Jujuy" " " \
+"America/Argentina/La_Rioja" " " \
+"America/Argentina/Mendoza" " " \
+"America/Argentina/Rio_Gallegos" " " \
+"America/Argentina/Salta" " " \
+"America/Argentina/San_Juan" " " \
+"America/Argentina/San_Luis" " " \
+"America/Argentina/Tucuman" " " \
+"America/Argentina/Ushuaia" " " \
+"America/Aruba" " " \
+"America/Asuncion" " " \
+"America/Atikokan" " " \
+"America/Atka" " " \
+"America/Bahia" " " \
+"America/Bahia_Banderas" " " \
+"America/Barbados" " " \
+"America/Belem" " " \
+"America/Belize" " " \
+"America/Blanc-Sablon" " " \
+"America/Boa_Vista" " " \
+"America/Bogota" " " \
+"America/Boise" " " \
+"America/Buenos_Aires" " " \
+"America/Cambridge_Bay" " " \
+"America/Campo_Grande" " " \
+"America/Cancun" " " \
+"America/Caracas" " " \
+"America/Catamarca" " " \
+"America/Cayenne" " " \
+"America/Cayman" " " \
+"America/Chicago" " " \
+"America/Chihuahua" " " \
+"America/Coral_Harbour" " " \
+"America/Cordoba" " " \
+"America/Costa_Rica" " " \
+"America/Creston" " " \
+"America/Cuiaba" " " \
+"America/Curacao" " " \
+"America/Danmarkshavn" " " \
+"America/Dawson" " " \
+"America/Dawson_Creek" " " \
+"America/Denver" " " \
+"America/Detroit" " " \
+"America/Dominica" " " \
+"America/Edmonton" " " \
+"America/Eirunepe" " " \
+"America/El_Salvador" " " \
+"America/Ensenada" " " \
+"America/Fort_Nelson" " " \
+"America/Fort_Wayne" " " \
+"America/Fortaleza" " " \
+"America/Glace_Bay" " " \
+"America/Godthab" " " \
+"America/Goose_Bay" " " \
+"America/Grand_Turk" " " \
+"America/Grenada" " " \
+"America/Guadeloupe" " " \
+"America/Guatemala" " " \
+"America/Guayaquil" " " \
+"America/Guyana" " " \
+"America/Halifax" " " \
+"America/Havana" " " \
+"America/Hermosillo" " " \
+"America/Indiana/Indianapolis" " " \
+"America/Indiana/Knox" " " \
+"America/Indiana/Marengo" " " \
+"America/Indiana/Petersburg" " " \
+"America/Indiana/Tell_City" " " \
+"America/Indiana/Vevay" " " \
+"America/Indiana/Vincennes" " " \
+"America/Indiana/Winamac" " " \
+"America/Indianapolis" " " \
+"America/Inuvik" " " \
+"America/Iqaluit" " " \
+"America/Jamaica" " " \
+"America/Jujuy" " " \
+"America/Juneau" " " \
+"America/Kentucky/Louisville" " " \
+"America/Kentucky/Monticello" " " \
+"America/Knox_IN" " " \
+"America/Kralendijk" " " \
+"America/La_Paz" " " \
+"America/Lima" " " \
+"America/Los_Angeles" " " \
+"America/Louisville" " " \
+"America/Lower_Princes" " " \
+"America/Maceio" " " \
+"America/Managua" " " \
+"America/Manaus" " " \
+"America/Marigot" " " \
+"America/Martinique" " " \
+"America/Matamoros" " " \
+"America/Mazatlan" " " \
+"America/Mendoza" " " \
+"America/Menominee" " " \
+"America/Merida" " " \
+"America/Metlakatla" " " \
+"America/Mexico_City" " " \
+"America/Miquelon" " " \
+"America/Moncton" " " \
+"America/Monterrey" " " \
+"America/Montevideo" " " \
+"America/Montreal" " " \
+"America/Montserrat" " " \
+"America/Nassau" " " \
+"America/New_York" " " \
+"America/Nipigon" " " \
+"America/Nome" " " \
+"America/Noronha" " " \
+"America/North_Dakota/Beulah" " " \
+"America/North_Dakota/Center" " " \
+"America/North_Dakota/New_Salem" " " \
+"America/Ojinaga" " " \
+"America/Panama" " " \
+"America/Pangnirtung" " " \
+"America/Paramaribo" " " \
+"America/Phoenix" " " \
+"America/Port-au-Prince" " " \
+"America/Port_of_Spain" " " \
+"America/Porto_Acre" " " \
+"America/Porto_Velho" " " \
+"America/Puerto_Rico" " " \
+"America/Rainy_River" " " \
+"America/Rankin_Inlet" " " \
+"America/Recife" " " \
+"America/Regina" " " \
+"America/Resolute" " " \
+"America/Rio_Branco" " " \
+"America/Rosario" " " \
+"America/Santa_Isabel" " " \
+"America/Santarem" " " \
+"America/Santiago" " " \
+"America/Santo_Domingo" " " \
+"America/Sao_Paulo" " " \
+"America/Scoresbysund" " " \
+"America/Shiprock" " " \
+"America/Sitka" " " \
+"America/St_Barthelemy" " " \
+"America/St_Johns" " " \
+"America/St_Kitts" " " \
+"America/St_Lucia" " " \
+"America/St_Thomas" " " \
+"America/St_Vincent" " " \
+"America/Swift_Current" " " \
+"America/Tegucigalpa" " " \
+"America/Thule" " " \
+"America/Thunder_Bay" " " \
+"America/Tijuana" " " \
+"America/Toronto" " " \
+"America/Tortola" " " \
+"America/Vancouver" " " \
+"America/Virgin" " " \
+"America/Whitehorse" " " \
+"America/Winnipeg" " " \
+"America/Yakutat" " " \
+"America/Yellowknife" " " \
+"Antarctica/Casey" " " \
+"Antarctica/Davis" " " \
+"Antarctica/DumontDUrville" " " \
+"Antarctica/Macquarie" " " \
+"Antarctica/Mawson" " " \
+"Antarctica/McMurdo" " " \
+"Antarctica/Palmer" " " \
+"Antarctica/Rothera" " " \
+"Antarctica/South_Pole" " " \
+"Antarctica/Syowa" " " \
+"Antarctica/Troll" " " \
+"Antarctica/Vostok" " " \
+"Arctic/Longyearbyen" " " \
+"Asia/Aden" " " \
+"Asia/Almaty" " " \
+"Asia/Amman" " " \
+"Asia/Anadyr" " " \
+"Asia/Aqtau" " " \
+"Asia/Aqtobe" " " \
+"Asia/Ashgabat" " " \
+"Asia/Ashkhabad" " " \
+"Asia/Baghdad" " " \
+"Asia/Bahrain" " " \
+"Asia/Baku" " " \
+"Asia/Bangkok" " " \
+"Asia/Beirut" " " \
+"Asia/Bishkek" " " \
+"Asia/Brunei" " " \
+"Asia/Calcutta" " " \
+"Asia/Chita" " " \
+"Asia/Choibalsan" " " \
+"Asia/Chongqing" " " \
+"Asia/Chungking" " " \
+"Asia/Colombo" " " \
+"Asia/Dacca" " " \
+"Asia/Damascus" " " \
+"Asia/Dhaka" " " \
+"Asia/Dili" " " \
+"Asia/Dubai" " " \
+"Asia/Dushanbe" " " \
+"Asia/Gaza" " " \
+"Asia/Harbin" " " \
+"Asia/Hebron" " " \
+"Asia/Ho_Chi_Minh" " " \
+"Asia/Hong_Kong" " " \
+"Asia/Hovd" " " \
+"Asia/Irkutsk" " " \
+"Asia/Istanbul" " " \
+"Asia/Jakarta" " " \
+"Asia/Jayapura" " " \
+"Asia/Jerusalem" " " \
+"Asia/Kabul" " " \
+"Asia/Kamchatka" " " \
+"Asia/Karachi" " " \
+"Asia/Kashgar" " " \
+"Asia/Kathmandu" " " \
+"Asia/Katmandu" " " \
+"Asia/Khandyga" " " \
+"Asia/Kolkata" " " \
+"Asia/Krasnoyarsk" " " \
+"Asia/Kuala_Lumpur" " " \
+"Asia/Kuching" " " \
+"Asia/Kuwait" " " \
+"Asia/Macao" " " \
+"Asia/Macau" " " \
+"Asia/Magadan" " " \
+"Asia/Makassar" " " \
+"Asia/Manila" " " \
+"Asia/Muscat" " " \
+"Asia/Nicosia" " " \
+"Asia/Novokuznetsk" " " \
+"Asia/Novosibirsk" " " \
+"Asia/Omsk" " " \
+"Asia/Oral" " " \
+"Asia/Phnom_Penh" " " \
+"Asia/Pontianak" " " \
+"Asia/Pyongyang" " " \
+"Asia/Qatar" " " \
+"Asia/Qyzylorda" " " \
+"Asia/Rangoon" " " \
+"Asia/Riyadh" " " \
+"Asia/Saigon" " " \
+"Asia/Sakhalin" " " \
+"Asia/Samarkand" " " \
+"Asia/Seoul" " " \
+"Asia/Shanghai" " " \
+"Asia/Singapore" " " \
+"Asia/Srednekolymsk" " " \
+"Asia/Taipei" " " \
+"Asia/Tashkent" " " \
+"Asia/Tbilisi" " " \
+"Asia/Tehran" " " \
+"Asia/Tel_Aviv" " " \
+"Asia/Thimbu" " " \
+"Asia/Thimphu" " " \
+"Asia/Tokyo" " " \
+"Asia/Ujung_Pandang" " " \
+"Asia/Ulaanbaatar" " " \
+"Asia/Ulan_Bator" " " \
+"Asia/Urumqi" " " \
+"Asia/Ust-Nera" " " \
+"Asia/Vientiane" " " \
+"Asia/Vladivostok" " " \
+"Asia/Yakutsk" " " \
+"Asia/Yekaterinburg" " " \
+"Asia/Yerevan" " " \
+"Atlantic/Azores" " " \
+"Atlantic/Bermuda" " " \
+"Atlantic/Canary" " " \
+"Atlantic/Cape_Verde" " " \
+"Atlantic/Faeroe" " " \
+"Atlantic/Faroe" " " \
+"Atlantic/Jan_Mayen" " " \
+"Atlantic/Madeira" " " \
+"Atlantic/Reykjavik" " " \
+"Atlantic/South_Georgia" " " \
+"Atlantic/St_Helena" " " \
+"Atlantic/Stanley" " " \
+"Australia/ACT" " " \
+"Australia/Adelaide" " " \
+"Australia/Brisbane" " " \
+"Australia/Broken_Hill" " " \
+"Australia/Canberra" " " \
+"Australia/Currie" " " \
+"Australia/Darwin" " " \
+"Australia/Eucla" " " \
+"Australia/Hobart" " " \
+"Australia/LHI" " " \
+"Australia/Lindeman" " " \
+"Australia/Lord_Howe" " " \
+"Australia/Melbourne" " " \
+"Australia/NSW" " " \
+"Australia/North" " " \
+"Australia/Perth" " " \
+"Australia/Queensland" " " \
+"Australia/South" " " \
+"Australia/Sydney" " " \
+"Australia/Tasmania" " " \
+"Australia/Victoria" " " \
+"Australia/West" " " \
+"Australia/Yancowinna" " " \
+"Brazil/Acre" " " \
+"Brazil/DeNoronha" " " \
+"Brazil/East" " " \
+"Brazil/West" " " \
+"CET" " " \
+"CST6CDT" " " \
+"Canada/Atlantic" " " \
+"Canada/Central" " " \
+"Canada/East-Saskatchewan" " " \
+"Canada/Eastern" " " \
+"Canada/Mountain" " " \
+"Canada/Newfoundland" " " \
+"Canada/Pacific" " " \
+"Canada/Saskatchewan" " " \
+"Canada/Yukon" " " \
+"Chile/Continental" " " \
+"Chile/EasterIsland" " " \
+"Cuba" " " \
+"EET" " " \
+"EST" " " \
+"EST5EDT" " " \
+"Egypt" " " \
+"Eire" " " \
+"Etc/GMT" " " \
+"Etc/GMT+0" " " \
+"Etc/GMT+1" " " \
+"Etc/GMT+10" " " \
+"Etc/GMT+11" " " \
+"Etc/GMT+12" " " \
+"Etc/GMT+2" " " \
+"Etc/GMT+3" " " \
+"Etc/GMT+4" " " \
+"Etc/GMT+5" " " \
+"Etc/GMT+6" " " \
+"Etc/GMT+7" " " \
+"Etc/GMT+8" " " \
+"Etc/GMT+9" " " \
+"Etc/GMT-0" " " \
+"Etc/GMT-1" " " \
+"Etc/GMT-10" " " \
+"Etc/GMT-11" " " \
+"Etc/GMT-12" " " \
+"Etc/GMT-13" " " \
+"Etc/GMT-14" " " \
+"Etc/GMT-2" " " \
+"Etc/GMT-3" " " \
+"Etc/GMT-4" " " \
+"Etc/GMT-5" " " \
+"Etc/GMT-6" " " \
+"Etc/GMT-7" " " \
+"Etc/GMT-8" " " \
+"Etc/GMT-9" " " \
+"Etc/GMT0" " " \
+"Etc/Greenwich" " " \
+"Etc/UCT" " " \
+"Etc/UTC" " " \
+"Etc/Universal" " " \
+"Etc/Zulu" " " \
+"Europe/Amsterdam" " " \
+"Europe/Andorra" " " \
+"Europe/Athens" " " \
+"Europe/Belfast" " " \
+"Europe/Belgrade" " " \
+"Europe/Berlin" " " \
+"Europe/Bratislava" " " \
+"Europe/Brussels" " " \
+"Europe/Bucharest" " " \
+"Europe/Budapest" " " \
+"Europe/Busingen" " " \
+"Europe/Chisinau" " " \
+"Europe/Copenhagen" " " \
+"Europe/Dublin" " " \
+"Europe/Gibraltar" " " \
+"Europe/Guernsey" " " \
+"Europe/Helsinki" " " \
+"Europe/Isle_of_Man" " " \
+"Europe/Istanbul" " " \
+"Europe/Jersey" " " \
+"Europe/Kaliningrad" " " \
+"Europe/Kiev" " " \
+"Europe/Lisbon" " " \
+"Europe/Ljubljana" " " \
+"Europe/London" " " \
+"Europe/Luxembourg" " " \
+"Europe/Madrid" " " \
+"Europe/Malta" " " \
+"Europe/Mariehamn" " " \
+"Europe/Minsk" " " \
+"Europe/Monaco" " " \
+"Europe/Moscow" " " \
+"Europe/Nicosia" " " \
+"Europe/Oslo" " " \
+"Europe/Paris" " " \
+"Europe/Podgorica" " " \
+"Europe/Prague" " " \
+"Europe/Riga" " " \
+"Europe/Rome" " " \
+"Europe/Samara" " " \
+"Europe/San_Marino" " " \
+"Europe/Sarajevo" " " \
+"Europe/Simferopol" " " \
+"Europe/Skopje" " " \
+"Europe/Sofia" " " \
+"Europe/Stockholm" " " \
+"Europe/Tallinn" " " \
+"Europe/Tirane" " " \
+"Europe/Tiraspol" " " \
+"Europe/Uzhgorod" " " \
+"Europe/Vaduz" " " \
+"Europe/Vatican" " " \
+"Europe/Vienna" " " \
+"Europe/Vilnius" " " \
+"Europe/Volgograd" " " \
+"Europe/Warsaw" " " \
+"Europe/Zagreb" " " \
+"Europe/Zaporozhye" " " \
+"Europe/Zurich" " " \
+"Factory" " " \
+"GB" " " \
+"GB-Eire" " " \
+"GMT" " " \
+"GMT+0" " " \
+"GMT-0" " " \
+"GMT0" " " \
+"Greenwich" " " \
+"HST" " " \
+"Hongkong" " " \
+"Iceland" " " \
+"Indian/Antananarivo" " " \
+"Indian/Chagos" " " \
+"Indian/Christmas" " " \
+"Indian/Cocos" " " \
+"Indian/Comoro" " " \
+"Indian/Kerguelen" " " \
+"Indian/Mahe" " " \
+"Indian/Maldives" " " \
+"Indian/Mauritius" " " \
+"Indian/Mayotte" " " \
+"Indian/Reunion" " " \
+"Iran" " " \
+"Israel" " " \
+"Jamaica" " " \
+"Japan" " " \
+"Kwajalein" " " \
+"Libya" " " \
+"MET" " " \
+"MST" " " \
+"MST7MDT" " " \
+"Mexico/BajaNorte" " " \
+"Mexico/BajaSur" " " \
+"Mexico/General" " " \
+"NZ" " " \
+"NZ-CHAT" " " \
+"Navajo" " " \
+"PRC" " " \
+"PST8PDT" " " \
+"Pacific/Apia" " " \
+"Pacific/Auckland" " " \
+"Pacific/Bougainville" " " \
+"Pacific/Chatham" " " \
+"Pacific/Chuuk" " " \
+"Pacific/Easter" " " \
+"Pacific/Efate" " " \
+"Pacific/Enderbury" " " \
+"Pacific/Fakaofo" " " \
+"Pacific/Fiji" " " \
+"Pacific/Funafuti" " " \
+"Pacific/Galapagos" " " \
+"Pacific/Gambier" " " \
+"Pacific/Guadalcanal" " " \
+"Pacific/Guam" " " \
+"Pacific/Honolulu" " " \
+"Pacific/Johnston" " " \
+"Pacific/Kiritimati" " " \
+"Pacific/Kosrae" " " \
+"Pacific/Kwajalein" " " \
+"Pacific/Majuro" " " \
+"Pacific/Marquesas" " " \
+"Pacific/Midway" " " \
+"Pacific/Nauru" " " \
+"Pacific/Niue" " " \
+"Pacific/Norfolk" " " \
+"Pacific/Noumea" " " \
+"Pacific/Pago_Pago" " " \
+"Pacific/Palau" " " \
+"Pacific/Pitcairn" " " \
+"Pacific/Pohnpei" " " \
+"Pacific/Ponape" " " \
+"Pacific/Port_Moresby" " " \
+"Pacific/Rarotonga" " " \
+"Pacific/Saipan" " " \
+"Pacific/Samoa" " " \
+"Pacific/Tahiti" " " \
+"Pacific/Tarawa" " " \
+"Pacific/Tongatapu" " " \
+"Pacific/Truk" " " \
+"Pacific/Wake" " " \
+"Pacific/Wallis" " " \
+"Pacific/Yap" " " \
+"Poland" " " \
+"Portugal" " " \
+"ROC" " " \
+"ROK" " " \
+"Singapore" " " \
+"Turkey" " " \
+"UCT" " " \
+"UTC" " " \
+"Universal" " " \
+"W-SU" " " \
+"WET" " " \
+"Zulu" " " \
+"posixrules" " " \
+ 2> $TMP/tz
+
+ if [ $? = 1 -o $? = 255 ]; then
+ rm -f $TMP/tz
+ exit
+ fi
+
+ TIMEZONE="`cat $TMP/tz`"
+ rm -f $TMP/tz
+
+ setzone $TIMEZONE
+ exit
+else
+ ###
+ ### use text prompts
+ ###
+ while [ 0 ]; do
+ echo -n "Would you like to configure your timezone ([y]es, [n]o)? "
+ read TIMECONF;
+ echo
+
+ if [ "$TIMECONF" = "n" ]; then
+ break
+ fi
+
+ cat << EOF
+Select one of these timezones:
+
+US/Alaska
+US/Aleutian
+US/Arizona
+US/Central
+US/East-Indiana
+US/Eastern
+US/Hawaii
+US/Indiana-Starke
+US/Michigan
+US/Mountain
+US/Pacific
+US/Pacific-New
+US/Samoa
+Africa/Abidjan
+Africa/Accra
+Africa/Addis_Ababa
+Africa/Algiers
+Africa/Asmara
+Africa/Asmera
+Africa/Bamako
+Africa/Bangui
+Africa/Banjul
+Africa/Bissau
+Africa/Blantyre
+Africa/Brazzaville
+Africa/Bujumbura
+Africa/Cairo
+Africa/Casablanca
+Africa/Ceuta
+Africa/Conakry
+Africa/Dakar
+Africa/Dar_es_Salaam
+Africa/Djibouti
+Africa/Douala
+Africa/El_Aaiun
+Africa/Freetown
+Africa/Gaborone
+Africa/Harare
+Africa/Johannesburg
+Africa/Juba
+Africa/Kampala
+Africa/Khartoum
+Africa/Kigali
+Africa/Kinshasa
+Africa/Lagos
+Africa/Libreville
+Africa/Lome
+Africa/Luanda
+Africa/Lubumbashi
+Africa/Lusaka
+Africa/Malabo
+Africa/Maputo
+Africa/Maseru
+Africa/Mbabane
+Africa/Mogadishu
+Africa/Monrovia
+Africa/Nairobi
+Africa/Ndjamena
+Africa/Niamey
+Africa/Nouakchott
+Africa/Ouagadougou
+Africa/Porto-Novo
+Africa/Sao_Tome
+Africa/Timbuktu
+Africa/Tripoli
+Africa/Tunis
+Africa/Windhoek
+America/Adak
+America/Anchorage
+America/Anguilla
+America/Antigua
+America/Araguaina
+America/Argentina/Buenos_Aires
+America/Argentina/Catamarca
+America/Argentina/ComodRivadavia
+America/Argentina/Cordoba
+America/Argentina/Jujuy
+America/Argentina/La_Rioja
+America/Argentina/Mendoza
+America/Argentina/Rio_Gallegos
+America/Argentina/Salta
+America/Argentina/San_Juan
+America/Argentina/San_Luis
+America/Argentina/Tucuman
+America/Argentina/Ushuaia
+America/Aruba
+America/Asuncion
+America/Atikokan
+America/Atka
+America/Bahia
+America/Bahia_Banderas
+America/Barbados
+America/Belem
+America/Belize
+America/Blanc-Sablon
+America/Boa_Vista
+America/Bogota
+America/Boise
+America/Buenos_Aires
+America/Cambridge_Bay
+America/Campo_Grande
+America/Cancun
+America/Caracas
+America/Catamarca
+America/Cayenne
+America/Cayman
+America/Chicago
+America/Chihuahua
+America/Coral_Harbour
+America/Cordoba
+America/Costa_Rica
+America/Creston
+America/Cuiaba
+America/Curacao
+America/Danmarkshavn
+America/Dawson
+America/Dawson_Creek
+America/Denver
+America/Detroit
+America/Dominica
+America/Edmonton
+America/Eirunepe
+America/El_Salvador
+America/Ensenada
+America/Fort_Nelson
+America/Fort_Wayne
+America/Fortaleza
+America/Glace_Bay
+America/Godthab
+America/Goose_Bay
+America/Grand_Turk
+America/Grenada
+America/Guadeloupe
+America/Guatemala
+America/Guayaquil
+America/Guyana
+America/Halifax
+America/Havana
+America/Hermosillo
+America/Indiana/Indianapolis
+America/Indiana/Knox
+America/Indiana/Marengo
+America/Indiana/Petersburg
+America/Indiana/Tell_City
+America/Indiana/Vevay
+America/Indiana/Vincennes
+America/Indiana/Winamac
+America/Indianapolis
+America/Inuvik
+America/Iqaluit
+America/Jamaica
+America/Jujuy
+America/Juneau
+America/Kentucky/Louisville
+America/Kentucky/Monticello
+America/Knox_IN
+America/Kralendijk
+America/La_Paz
+America/Lima
+America/Los_Angeles
+America/Louisville
+America/Lower_Princes
+America/Maceio
+America/Managua
+America/Manaus
+America/Marigot
+America/Martinique
+America/Matamoros
+America/Mazatlan
+America/Mendoza
+America/Menominee
+America/Merida
+America/Metlakatla
+America/Mexico_City
+America/Miquelon
+America/Moncton
+America/Monterrey
+America/Montevideo
+America/Montreal
+America/Montserrat
+America/Nassau
+America/New_York
+America/Nipigon
+America/Nome
+America/Noronha
+America/North_Dakota/Beulah
+America/North_Dakota/Center
+America/North_Dakota/New_Salem
+America/Ojinaga
+America/Panama
+America/Pangnirtung
+America/Paramaribo
+America/Phoenix
+America/Port-au-Prince
+America/Port_of_Spain
+America/Porto_Acre
+America/Porto_Velho
+America/Puerto_Rico
+America/Rainy_River
+America/Rankin_Inlet
+America/Recife
+America/Regina
+America/Resolute
+America/Rio_Branco
+America/Rosario
+America/Santa_Isabel
+America/Santarem
+America/Santiago
+America/Santo_Domingo
+America/Sao_Paulo
+America/Scoresbysund
+America/Shiprock
+America/Sitka
+America/St_Barthelemy
+America/St_Johns
+America/St_Kitts
+America/St_Lucia
+America/St_Thomas
+America/St_Vincent
+America/Swift_Current
+America/Tegucigalpa
+America/Thule
+America/Thunder_Bay
+America/Tijuana
+America/Toronto
+America/Tortola
+America/Vancouver
+America/Virgin
+America/Whitehorse
+America/Winnipeg
+America/Yakutat
+America/Yellowknife
+Antarctica/Casey
+Antarctica/Davis
+Antarctica/DumontDUrville
+Antarctica/Macquarie
+Antarctica/Mawson
+Antarctica/McMurdo
+Antarctica/Palmer
+Antarctica/Rothera
+Antarctica/South_Pole
+Antarctica/Syowa
+Antarctica/Troll
+Antarctica/Vostok
+Arctic/Longyearbyen
+Asia/Aden
+Asia/Almaty
+Asia/Amman
+Asia/Anadyr
+Asia/Aqtau
+Asia/Aqtobe
+Asia/Ashgabat
+Asia/Ashkhabad
+Asia/Baghdad
+Asia/Bahrain
+Asia/Baku
+Asia/Bangkok
+Asia/Beirut
+Asia/Bishkek
+Asia/Brunei
+Asia/Calcutta
+Asia/Chita
+Asia/Choibalsan
+Asia/Chongqing
+Asia/Chungking
+Asia/Colombo
+Asia/Dacca
+Asia/Damascus
+Asia/Dhaka
+Asia/Dili
+Asia/Dubai
+Asia/Dushanbe
+Asia/Gaza
+Asia/Harbin
+Asia/Hebron
+Asia/Ho_Chi_Minh
+Asia/Hong_Kong
+Asia/Hovd
+Asia/Irkutsk
+Asia/Istanbul
+Asia/Jakarta
+Asia/Jayapura
+Asia/Jerusalem
+Asia/Kabul
+Asia/Kamchatka
+Asia/Karachi
+Asia/Kashgar
+Asia/Kathmandu
+Asia/Katmandu
+Asia/Khandyga
+Asia/Kolkata
+Asia/Krasnoyarsk
+Asia/Kuala_Lumpur
+Asia/Kuching
+Asia/Kuwait
+Asia/Macao
+Asia/Macau
+Asia/Magadan
+Asia/Makassar
+Asia/Manila
+Asia/Muscat
+Asia/Nicosia
+Asia/Novokuznetsk
+Asia/Novosibirsk
+Asia/Omsk
+Asia/Oral
+Asia/Phnom_Penh
+Asia/Pontianak
+Asia/Pyongyang
+Asia/Qatar
+Asia/Qyzylorda
+Asia/Rangoon
+Asia/Riyadh
+Asia/Saigon
+Asia/Sakhalin
+Asia/Samarkand
+Asia/Seoul
+Asia/Shanghai
+Asia/Singapore
+Asia/Srednekolymsk
+Asia/Taipei
+Asia/Tashkent
+Asia/Tbilisi
+Asia/Tehran
+Asia/Tel_Aviv
+Asia/Thimbu
+Asia/Thimphu
+Asia/Tokyo
+Asia/Ujung_Pandang
+Asia/Ulaanbaatar
+Asia/Ulan_Bator
+Asia/Urumqi
+Asia/Ust-Nera
+Asia/Vientiane
+Asia/Vladivostok
+Asia/Yakutsk
+Asia/Yekaterinburg
+Asia/Yerevan
+Atlantic/Azores
+Atlantic/Bermuda
+Atlantic/Canary
+Atlantic/Cape_Verde
+Atlantic/Faeroe
+Atlantic/Faroe
+Atlantic/Jan_Mayen
+Atlantic/Madeira
+Atlantic/Reykjavik
+Atlantic/South_Georgia
+Atlantic/St_Helena
+Atlantic/Stanley
+Australia/ACT
+Australia/Adelaide
+Australia/Brisbane
+Australia/Broken_Hill
+Australia/Canberra
+Australia/Currie
+Australia/Darwin
+Australia/Eucla
+Australia/Hobart
+Australia/LHI
+Australia/Lindeman
+Australia/Lord_Howe
+Australia/Melbourne
+Australia/NSW
+Australia/North
+Australia/Perth
+Australia/Queensland
+Australia/South
+Australia/Sydney
+Australia/Tasmania
+Australia/Victoria
+Australia/West
+Australia/Yancowinna
+Brazil/Acre
+Brazil/DeNoronha
+Brazil/East
+Brazil/West
+CET
+CST6CDT
+Canada/Atlantic
+Canada/Central
+Canada/East-Saskatchewan
+Canada/Eastern
+Canada/Mountain
+Canada/Newfoundland
+Canada/Pacific
+Canada/Saskatchewan
+Canada/Yukon
+Chile/Continental
+Chile/EasterIsland
+Cuba
+EET
+EST
+EST5EDT
+Egypt
+Eire
+Etc/GMT
+Etc/GMT+0
+Etc/GMT+1
+Etc/GMT+10
+Etc/GMT+11
+Etc/GMT+12
+Etc/GMT+2
+Etc/GMT+3
+Etc/GMT+4
+Etc/GMT+5
+Etc/GMT+6
+Etc/GMT+7
+Etc/GMT+8
+Etc/GMT+9
+Etc/GMT-0
+Etc/GMT-1
+Etc/GMT-10
+Etc/GMT-11
+Etc/GMT-12
+Etc/GMT-13
+Etc/GMT-14
+Etc/GMT-2
+Etc/GMT-3
+Etc/GMT-4
+Etc/GMT-5
+Etc/GMT-6
+Etc/GMT-7
+Etc/GMT-8
+Etc/GMT-9
+Etc/GMT0
+Etc/Greenwich
+Etc/UCT
+Etc/UTC
+Etc/Universal
+Etc/Zulu
+Europe/Amsterdam
+Europe/Andorra
+Europe/Athens
+Europe/Belfast
+Europe/Belgrade
+Europe/Berlin
+Europe/Bratislava
+Europe/Brussels
+Europe/Bucharest
+Europe/Budapest
+Europe/Busingen
+Europe/Chisinau
+Europe/Copenhagen
+Europe/Dublin
+Europe/Gibraltar
+Europe/Guernsey
+Europe/Helsinki
+Europe/Isle_of_Man
+Europe/Istanbul
+Europe/Jersey
+Europe/Kaliningrad
+Europe/Kiev
+Europe/Lisbon
+Europe/Ljubljana
+Europe/London
+Europe/Luxembourg
+Europe/Madrid
+Europe/Malta
+Europe/Mariehamn
+Europe/Minsk
+Europe/Monaco
+Europe/Moscow
+Europe/Nicosia
+Europe/Oslo
+Europe/Paris
+Europe/Podgorica
+Europe/Prague
+Europe/Riga
+Europe/Rome
+Europe/Samara
+Europe/San_Marino
+Europe/Sarajevo
+Europe/Simferopol
+Europe/Skopje
+Europe/Sofia
+Europe/Stockholm
+Europe/Tallinn
+Europe/Tirane
+Europe/Tiraspol
+Europe/Uzhgorod
+Europe/Vaduz
+Europe/Vatican
+Europe/Vienna
+Europe/Vilnius
+Europe/Volgograd
+Europe/Warsaw
+Europe/Zagreb
+Europe/Zaporozhye
+Europe/Zurich
+Factory
+GB
+GB-Eire
+GMT
+GMT+0
+GMT-0
+GMT0
+Greenwich
+HST
+Hongkong
+Iceland
+Indian/Antananarivo
+Indian/Chagos
+Indian/Christmas
+Indian/Cocos
+Indian/Comoro
+Indian/Kerguelen
+Indian/Mahe
+Indian/Maldives
+Indian/Mauritius
+Indian/Mayotte
+Indian/Reunion
+Iran
+Israel
+Jamaica
+Japan
+Kwajalein
+Libya
+MET
+MST
+MST7MDT
+Mexico/BajaNorte
+Mexico/BajaSur
+Mexico/General
+NZ
+NZ-CHAT
+Navajo
+PRC
+PST8PDT
+Pacific/Apia
+Pacific/Auckland
+Pacific/Bougainville
+Pacific/Chatham
+Pacific/Chuuk
+Pacific/Easter
+Pacific/Efate
+Pacific/Enderbury
+Pacific/Fakaofo
+Pacific/Fiji
+Pacific/Funafuti
+Pacific/Galapagos
+Pacific/Gambier
+Pacific/Guadalcanal
+Pacific/Guam
+Pacific/Honolulu
+Pacific/Johnston
+Pacific/Kiritimati
+Pacific/Kosrae
+Pacific/Kwajalein
+Pacific/Majuro
+Pacific/Marquesas
+Pacific/Midway
+Pacific/Nauru
+Pacific/Niue
+Pacific/Norfolk
+Pacific/Noumea
+Pacific/Pago_Pago
+Pacific/Palau
+Pacific/Pitcairn
+Pacific/Pohnpei
+Pacific/Ponape
+Pacific/Port_Moresby
+Pacific/Rarotonga
+Pacific/Saipan
+Pacific/Samoa
+Pacific/Tahiti
+Pacific/Tarawa
+Pacific/Tongatapu
+Pacific/Truk
+Pacific/Wake
+Pacific/Wallis
+Pacific/Yap
+Poland
+Portugal
+ROC
+ROK
+Singapore
+Turkey
+UCT
+UTC
+Universal
+W-SU
+WET
+Zulu
+posixrules
+
+Type it at the prompt below exactly as it appears above. (NOTE: If you don't
+see your timezone, use "timeconfig" again after booting for the verbose list)
+
+EOF
+ echo -n "Timezone? "
+ read TIMEZONE;
+ echo
+
+ if [ -n "$TIMEZONE" -a \
+ -r $T_PX/usr/share/zoneinfo/$TIMEZONE -o \
+ -r /var/log/mount/usr/share/zoneinfo/$TIMEZONE -o \
+ -L $T_PX/usr/share/zoneinfo/$TIMEZONE -o \
+ -L /var/log/mount/usr/share/zoneinfo/$TIMEZONE ]; then
+ echo "Creating link from $TIMEZONE to localtime in /etc..."
+ echo
+ setzone $TIMEZONE
+ exit
+ else
+ cat << EOF
+
+Timezone $TIMEZONE could not be found. You may try again if you wish.
+Make sure you type the name exactly as it appears - this configuration script
+is case sensitive.
+
+Press [enter] to continue.
+
+EOF
+ read JUNK;
+ fi
+ done
+fi
+
diff --git a/source/a/gpm/gpm.SlackBuild b/source/a/gpm/gpm.SlackBuild
index 25ac63b03..6c763657d 100755
--- a/source/a/gpm/gpm.SlackBuild
+++ b/source/a/gpm/gpm.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2013, 2014 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# by: volkerdi@slackware.com
VERSION=1.20.7
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-3}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -97,7 +97,8 @@ CFLAGS="$SLKCFLAGS" \
make || exit 1
make install DESTDIR=$PKG || exit 1
-rm -f $PKG/usr/share/emacs/site-lisp/*.elc
+# Emacs ships better versions of these:
+rm -rf $PKG/usr/share/emacs
chmod 755 $PKG/usr/lib${LIBDIRSUFFIX}/libgpm.so.*
mkdir $PKG/lib${LIBDIRSUFFIX}
diff --git a/source/a/gptfdisk/gptfdisk.SlackBuild b/source/a/gptfdisk/gptfdisk.SlackBuild
index c61556535..054f83820 100755
--- a/source/a/gptfdisk/gptfdisk.SlackBuild
+++ b/source/a/gptfdisk/gptfdisk.SlackBuild
@@ -64,10 +64,6 @@ rm -rf $PKGNAM-$VERSION
tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
cd $PKGNAM-$VERSION || exit 1
-# Remove dependency on icu4c by switching from the uncommented Makefile
-# lines to the commented ones:
-zcat $CWD/gptfdisk.remove.icu4c.dep.diff.gz | patch -p1 || exit 1
-
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
diff --git a/source/a/gptfdisk/gptfdisk.remove.icu4c.dep.diff b/source/a/gptfdisk/gptfdisk.remove.icu4c.dep.diff
deleted file mode 100644
index ce5d7a8af..000000000
--- a/source/a/gptfdisk/gptfdisk.remove.icu4c.dep.diff
+++ /dev/null
@@ -1,36 +0,0 @@
---- ./Makefile.orig 2012-05-30 10:38:43.000000000 -0500
-+++ ./Makefile 2012-08-06 16:37:17.256362865 -0500
-@@ -1,8 +1,8 @@
- CC=gcc
- CXX=g++
- CFLAGS+=-D_FILE_OFFSET_BITS=64
--CXXFLAGS+=-Wall -D_FILE_OFFSET_BITS=64 -D USE_UTF16
--#CXXFLAGS+=-Wall -D_FILE_OFFSET_BITS=64
-+#CXXFLAGS+=-Wall -D_FILE_OFFSET_BITS=64 -D USE_UTF16
-+CXXFLAGS+=-Wall -D_FILE_OFFSET_BITS=64
- LDFLAGS+=
- LIB_NAMES=crc32 support guid gptpart mbrpart basicmbr mbr gpt bsd parttypes attributes diskio diskio-unix
- MBR_LIBS=support diskio diskio-unix basicmbr mbrpart
-@@ -14,16 +14,16 @@
- all: cgdisk gdisk sgdisk fixparts
-
- gdisk: $(LIB_OBJS) gdisk.o gpttext.o
--# $(CXX) $(LIB_OBJS) gdisk.o gpttext.o $(LDFLAGS) -luuid -o gdisk
-- $(CXX) $(LIB_OBJS) gdisk.o gpttext.o $(LDFLAGS) -licuio -licuuc -luuid -o gdisk
-+ $(CXX) $(LIB_OBJS) gdisk.o gpttext.o $(LDFLAGS) -luuid -o gdisk
-+# $(CXX) $(LIB_OBJS) gdisk.o gpttext.o $(LDFLAGS) -licuio -licuuc -luuid -o gdisk
-
- cgdisk: $(LIB_OBJS) cgdisk.o gptcurses.o
--# $(CXX) $(LIB_OBJS) cgdisk.o gptcurses.o $(LDFLAGS) -luuid -lncurses -o cgdisk
-- $(CXX) $(LIB_OBJS) cgdisk.o gptcurses.o $(LDFLAGS) -licuio -licuuc -luuid -lncurses -o cgdisk
-+ $(CXX) $(LIB_OBJS) cgdisk.o gptcurses.o $(LDFLAGS) -luuid -lncurses -o cgdisk
-+# $(CXX) $(LIB_OBJS) cgdisk.o gptcurses.o $(LDFLAGS) -licuio -licuuc -luuid -lncurses -o cgdisk
-
- sgdisk: $(LIB_OBJS) sgdisk.o gptcl.o
--# $(CXX) $(LIB_OBJS) sgdisk.o gptcl.o $(LDFLAGS) -luuid -lpopt -o sgdisk
-- $(CXX) $(LIB_OBJS) sgdisk.o gptcl.o $(LDFLAGS) -licuio -licuuc -luuid -lpopt -o sgdisk
-+ $(CXX) $(LIB_OBJS) sgdisk.o gptcl.o $(LDFLAGS) -luuid -lpopt -o sgdisk
-+# $(CXX) $(LIB_OBJS) sgdisk.o gptcl.o $(LDFLAGS) -licuio -licuuc -luuid -lpopt -o sgdisk
-
- fixparts: $(MBR_LIB_OBJS) fixparts.o
- $(CXX) $(MBR_LIB_OBJS) fixparts.o $(LDFLAGS) -o fixparts
diff --git a/source/a/gptfdisk/slack-desc b/source/a/gptfdisk/slack-desc
index 913fd875b..322c02dbd 100644
--- a/source/a/gptfdisk/slack-desc
+++ b/source/a/gptfdisk/slack-desc
@@ -15,5 +15,5 @@ gptfdisk: Record) partition tables. It features several partitioning tools,
gptfdisk: recovery tools to help you deal with corrupt partition tables, and the
gptfdisk: ability to convert MBR disks to GPT format.
gptfdisk:
-gptfdisk: gdisk home: http://www.rodsbooks.com/gdisk/
+gptfdisk: gptfdisk home: http://sourceforge.net/projects/gptfdisk/
gptfdisk:
diff --git a/source/a/grep/grep.SlackBuild b/source/a/grep/grep.SlackBuild
index 6bdf0d811..9d8c6f4f7 100755
--- a/source/a/grep/grep.SlackBuild
+++ b/source/a/grep/grep.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2005-2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2005-2015 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -29,7 +29,7 @@ NUMJOBS=${NUMJOBS:-" -j7 "}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 ) ;;
@@ -40,8 +40,8 @@ CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-grep
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
diff --git a/source/a/grub/0001-Fix-CVE-2015-8370-Grub2-user-pass-vulnerability.patch b/source/a/grub/0001-Fix-CVE-2015-8370-Grub2-user-pass-vulnerability.patch
new file mode 100644
index 000000000..5701b5475
--- /dev/null
+++ b/source/a/grub/0001-Fix-CVE-2015-8370-Grub2-user-pass-vulnerability.patch
@@ -0,0 +1,45 @@
+From 88c9657960a6c5d3673a25c266781e876c181add Mon Sep 17 00:00:00 2001
+From: Hector Marco-Gisbert <hecmargi@upv.es>
+Date: Fri, 13 Nov 2015 16:21:09 +0100
+Subject: [PATCH] Fix security issue when reading username and password
+
+ This patch fixes two integer underflows at:
+ * grub-core/lib/crypto.c
+ * grub-core/normal/auth.c
+
+Signed-off-by: Hector Marco-Gisbert <hecmargi@upv.es>
+Signed-off-by: Ismael Ripoll-Ripoll <iripoll@disca.upv.es>
+---
+ grub-core/lib/crypto.c | 2 +-
+ grub-core/normal/auth.c | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/grub-core/lib/crypto.c b/grub-core/lib/crypto.c
+index 010e550..524a3d8 100644
+--- a/grub-core/lib/crypto.c
++++ b/grub-core/lib/crypto.c
+@@ -468,7 +468,7 @@ grub_password_get (char buf[], unsigned buf_size)
+ break;
+ }
+
+- if (key == '\b')
++ if (key == '\b' && cur_len)
+ {
+ cur_len--;
+ continue;
+diff --git a/grub-core/normal/auth.c b/grub-core/normal/auth.c
+index c6bd96e..5782ec5 100644
+--- a/grub-core/normal/auth.c
++++ b/grub-core/normal/auth.c
+@@ -172,7 +172,7 @@ grub_username_get (char buf[], unsigned buf_size)
+ break;
+ }
+
+- if (key == '\b')
++ if (key == '\b' && cur_len)
+ {
+ cur_len--;
+ grub_printf ("\b");
+--
+1.9.1
+
diff --git a/source/a/grub/etc.default.grub b/source/a/grub/etc.default.grub
index f612a35a7..b2d4080a0 100644
--- a/source/a/grub/etc.default.grub
+++ b/source/a/grub/etc.default.grub
@@ -24,5 +24,5 @@ GRUB_CMDLINE_LINUX=""
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
-# Uncomment to disable generation of recovery mode menu entrys
-#GRUB_DISABLE_LINUX_RECOVERY="true"
+# Uncomment to disable generation of recovery mode menu entries
+#GRUB_DISABLE_RECOVERY="true"
diff --git a/source/a/grub/grub.SlackBuild b/source/a/grub/grub.SlackBuild
index 5a0c27e81..ba7ecd8b1 100755
--- a/source/a/grub/grub.SlackBuild
+++ b/source/a/grub/grub.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2013, 2016 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,16 +20,17 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# Modified 2016 by Eric Hameleers <alien@slackware.com> for Slackware Live Edition.
PKGNAM=grub
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-5}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$(uname -m)" in
- i?86) ARCH=i486 ;;
- arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7lh ;;
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$(uname -m) ;;
esac
@@ -43,18 +44,22 @@ if [ "$ARCH" = "i386" ]; then
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ EFI32_FLAGS=" --with-platform=efi --target=i386 --program-prefix= "
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ EFI32_FLAGS=" --with-platform=efi --target=i386 --program-prefix= "
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686"
+ EFI32_FLAGS=" --with-platform=efi --target=i386 --program-prefix= "
LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2"
+ EFI32_FLAGS=" --with-platform=efi --target=i386 --program-prefix= "
EFI_FLAGS=" --with-platform=efi --target=x86_64 --program-prefix= "
LIBDIRSUFFIX="64"
elif [ "$ARCH" = "armv7hl" ]; then
@@ -96,12 +101,11 @@ zcat $CWD/grub.dejavusansmono.gfxterm.font.diff.gz | patch -p1 --verbose || exit
# Terminate EFI several times. This is a workaround for broken UEFI firmware.
zcat $CWD/grub.e75fdee420a7ad95e9a465c9699adc2e2e970440.terminate.efi.several.times.diff.gz | patch -p1 --verbose || exit 1
-for i in 1 2 ; do
- # Skip to regular build if EFI support is not requested:
- if [ i = 1 -a -z "$EFI_FLAGS" ]; then
- continue;
- fi
+# Fix security issue when reading username and password:
+zcat $CWD/0001-Fix-CVE-2015-8370-Grub2-user-pass-vulnerability.patch.gz | patch -p1 --verbose || exit 1
+build_grub() {
+ EFI_DO="$*"
# Configure:
CFLAGS="$SLKCFLAGS" \
./configure \
@@ -112,16 +116,26 @@ for i in 1 2 ; do
--infodir=/usr/info \
--mandir=/usr/man \
--disable-werror \
- $EFI_FLAGS
+ $EFI_DO
# Build and install:
make clean
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
- # Clear $EFI_FLAGS for a regular build:
- unset EFI_FLAGS
-done
+ # Clear $EFI_DO :
+ unset EFI_DO
+}
+
+# Build 32bit and 64bit efi targets if requested:
+if [ -n "$EFI32_FLAGS" ]; then
+ build_grub $EFI32_FLAGS
+fi
+if [ -n "$EFI_FLAGS" ]; then
+ build_grub $EFI_FLAGS
+fi
+# Always end with regular build:
+build_grub
# Preserve the contents of /etc/grub.d/40_custom:
mv $PKG/etc/grub.d/40_custom $PKG/etc/grub.d/40_custom.new
@@ -132,9 +146,19 @@ mv $PKG/etc/grub.d/40_custom $PKG/etc/grub.d/40_custom.new
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
)
+# Put bash-completion file in system directory:
+mkdir -p $PKG/usr/share/bash-completion/completions/
+mv $PKG/etc/bash_completion.d/grub \
+ $PKG/usr/share/bash-completion/completions/grub
+rmdir --parents $PKG/etc/bash_completion.d 2>/dev/null
+
+# Install default options file:
mkdir -p $PKG/etc/default
cat $CWD/etc.default.grub > $PKG/etc/default/grub.new
+# Create a directory for grub.cfg:
+mkdir -p $PKG/boot/grub
+
# Add fonts, if found on the system:
FONT_SIZE=${FONT_SIZE:-19}
if [ -r /usr/share/fonts/TTF/unifont.ttf ]; then
diff --git a/source/a/gzip/gzip.SlackBuild b/source/a/gzip/gzip.SlackBuild
index 333f8d333..f45bcd4a9 100755
--- a/source/a/gzip/gzip.SlackBuild
+++ b/source/a/gzip/gzip.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2006-2013 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006-2016 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -29,7 +29,7 @@ NUMJOBS=${NUMJOBS:--j6}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 ) ;;
@@ -40,10 +40,8 @@ CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-${PKGNAM}
-if [ "$ARCH" = "i386" ]; then
- SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
-elif [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
elif [ "$ARCH" = "x86_64" ]; then
@@ -147,7 +145,7 @@ fi
# Add a documentation directory:
mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
cp -a \
- AUTHORS COPYING INSTALL NEWS README README-alpha THANKS TODO \
+ AUTHORS COPYING* NEWS README* THANKS TODO \
$PKG/usr/doc/${PKGNAM}-$VERSION
# If there's a ChangeLog, installing at least part of the recent history
diff --git a/source/a/hdparm/hdparm.SlackBuild b/source/a/hdparm/hdparm.SlackBuild
index 951436d16..3f39ca278 100755
--- a/source/a/hdparm/hdparm.SlackBuild
+++ b/source/a/hdparm/hdparm.SlackBuild
@@ -27,7 +27,7 @@ BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 ) ;;
diff --git a/source/a/hwdata/hwdata.SlackBuild b/source/a/hwdata/hwdata.SlackBuild
new file mode 100755
index 000000000..6381d27e0
--- /dev/null
+++ b/source/a/hwdata/hwdata.SlackBuild
@@ -0,0 +1,115 @@
+#!/bin/sh
+
+# Slackware build script for hwdata
+
+# Copyright 2015 Robby Workman, Tuscaloosa, Alabama, 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.
+
+# tarball created from git repo - releases have git tags
+# e.g. "git checkout hwdata-0.283"
+# Remove the .git/ directory for size considerations
+#
+# Ready made tarballs are also available from this location:
+# https://git.fedorahosted.org/git/hwdata.git
+
+PKGNAM=hwdata
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+# Override $ARCH, since there are no binaries included at this time:
+ARCH=noarch
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$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 {} \;
+
+./configure --libdir=/lib || exit 1
+#make download # grab latest copies of everything
+make install DESTDIR=$PKG || exit 1
+
+# Put compat symlinks in place for stuff that doesn't know about pkgconfig
+for file in iab.txt oui.txt pci.ids pnp.ids usb.ids; do
+ if [ -r $PKG/usr/share/hwdata/$file ]; then
+ ln -s hwdata/$file $PKG/usr/share/$file
+ fi
+done
+
+# Move the provided blacklist stuff to the docs.
+# Ideally, we have that info in udev package.
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ COPYING* LICENSE README* \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+mv $PKG/lib/modprobe.d/dist-blacklist.conf $PKG/usr/doc/$PKGNAM-$VERSION
+
+# Remove the usused directories /lib/modprobe.d and /lib one at a time
+# so we'll notice if anything new is added there:
+#rm -rf $PKG/lib
+rmdir $PKG/lib/modprobe.d || exit 1
+rmdir $PKG/lib || exit 1
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/a/hwdata/slack-desc b/source/a/hwdata/slack-desc
new file mode 100644
index 000000000..029622720
--- /dev/null
+++ b/source/a/hwdata/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 ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+hwdata: hwdata (hardware identification and configuration data)
+hwdata:
+hwdata: hwdata contains various hardware identification and configuration
+hwdata: data, such as the pci.ids database and MonitorsDB databases.
+hwdata:
+hwdata: Homepage: https://git.fedorahosted.org/git/hwdata.git
+hwdata:
+hwdata:
+hwdata:
+hwdata:
+hwdata:
diff --git a/source/a/infozip/infozip.SlackBuild b/source/a/infozip/infozip.SlackBuild
index 9205fca60..1fdd779b9 100755
--- a/source/a/infozip/infozip.SlackBuild
+++ b/source/a/infozip/infozip.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2013, 2015 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
VERSION=6.0
ZIP=3.0
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-3}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -67,6 +67,7 @@ tar xvf $CWD/unzip$(echo $VERSION | tr -d .).tar.?z* || exit 1
cd unzip$(echo $VERSION | tr -d .)
zcat $CWD/unzip.use.system.libbz2.diff.gz | patch -p1 --verbose || exit 1
zcat $CWD/unzip.process.c.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/unzip.git.archive.fix.diff.gz | patch -p0 --verbose || exit 1
chown -R root:root .
mkdir -p $PKG/usr/doc/unzip-$VERSION
cp -a BUGS COPYING* Contents History.* INSTALL LICENSE README ToDo WHERE \
diff --git a/source/a/infozip/unzip.git.archive.fix.diff b/source/a/infozip/unzip.git.archive.fix.diff
new file mode 100644
index 000000000..6349a2c94
--- /dev/null
+++ b/source/a/infozip/unzip.git.archive.fix.diff
@@ -0,0 +1,15 @@
+--- process.c
++++ process.c
+@@ -1751,6 +1751,12 @@ int process_cdir_file_hdr(__G) /* ret
+ = (G.crec.general_purpose_bit_flag & (1 << 11)) == (1 << 11);
+ #endif
+
++#ifdef SYMLINKS
++ /* Initialize the symlink flag, may be set by the platform-specific
++ mapattr function. */
++ G.pInfo->symlink = 0;
++#endif
++
+ return PK_COOL;
+
+ } /* end function process_cdir_file_hdr() */
diff --git a/source/a/kmod/kmod-15.tar.sign b/source/a/kmod/kmod-15.tar.sign
deleted file mode 100644
index 0e79dd5bc..000000000
--- a/source/a/kmod/kmod-15.tar.sign
+++ /dev/null
@@ -1,17 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.21 (GNU/Linux)
-
-iQIcBAABAgAGBQJSFhpaAAoJEJuipaYwy+pT55AP/jZK04iAzoyrGYXlFWo+ngBP
-f34CueSb3OJs+JQ6CJZNS5qg83XmOWhTSt2r41nH+N5kWmrF2NsDJ58zzqWy/Rwq
-VW4AmSImeJSAi4jtV5T3gjp25htqO1pW57dPwugX4F13PkxqD+l8lJ28X0FcY32k
-POR0uiYc0qLOssUASVdFJeRgrYA9V3/Se+fOr118GYWji5S+NlwYSCKb3Khu/j2U
-cUHeVrEhbRbYGZ5sQ2ylC0RoM+9G/fJz9cSCxeZh1F6KuCfgJDOzfzLwTQzcRjSA
-sBflTMWcw6KcLa5AvNYIrQHIDXHrVn0kR1yQb4glgYygPfU2LhAA20VGPyYsp4JS
-6C55VrkXmhX6IlwA0LTdVGkNBOWmuPxzxtMInPoOVapCRHl1KnLMa68T38VSDwS8
-8g6fKM7gUEM5wu3w1ica9yXy9panaom7HBrMFouOjk9YU1DqkIV+ItbBfE9HdW1X
-x5LqoOktiuVtJCNbj8Ll6OsjMfKROa+pnRxMT95wA5l2e5rZljR6Ie0deTaRDFX/
-IOMHQn/oK3CIfYcjM5SOn3AaFNHE9KleYSewV/XC/m4YOnaKmUoCrhMJSJQxPUue
-9qLh3fqqSQSD3cZmRPfBFaT2cGnehbmx5oPh8uZIxqV8z21y6oNF3CbKSij9ZaeO
-sigBwb3OIcf7K5jCrdJl
-=qu/t
------END PGP SIGNATURE-----
diff --git a/source/a/kmod/kmod-22.tar.sign b/source/a/kmod/kmod-22.tar.sign
new file mode 100644
index 000000000..12f5300f6
--- /dev/null
+++ b/source/a/kmod/kmod-22.tar.sign
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2
+
+iQIcBAABCAAGBQJWS8KQAAoJEJuipaYwy+pTtI4P+gM1moO6Qt3CEP1GCfZPek9F
++2MxgtWnttSwroJ1PnQowv/yJtAtjnyBr78KK2M79g3XWRn2zXbf8+7S49dgrcpO
+f7lHrvP+WIzTtS4mk7GTUk7LX8fUUOWr3na2aO6Cv2diJRW9JBKHWWzij5Wa0Zvn
+JnA8b2CxweJp7KBcf+GxcLBkUrN5/5Qfej8KCK9pp4RUt1ks6vUTYaFjZHugr8ks
+4U6GQbaFqpICpVd1k3qj/kfgftkPkQUcOL7MfK+LBtPuyA4rycy01hsESrB05gaJ
+lw6dcmCAcI7xoI/2EpqD9D5pBGMR13IbBb4KmO2CdE30cQxT/R4oH1mt+Dbn3kwl
+s185nSCqe7yo+F+qYmdqAy+u76yjXnlVl9/CpOBTkRkC0U8zq/QmnyBDZyYrcl5k
+3z9UH+p5Y0lXFopbljEdGJfiLCWjP7g1ynqQl4mVL3ymfu0nW5/7/bsQq8lh20uh
+c0u0qLAKzsL6XlO1YN60tzDHv43cZ3UoEtlNozJgLcNGM2KyrQsonwPtqMjNCSzw
+xqQHcJZvcO1C3TLQ4FYGHfpN8/kNK3LpWLV7D+WHfZRQnU7MwuPkU7cUJrt4uh8w
+IislcX/AbkbZ7VG81IaV/ni5jVfFBfnxFnW2xIgO2cN4xkTo8TVt1Qw0kF+TYaD7
+st8UBrgP1xKixic51979
+=vwC8
+-----END PGP SIGNATURE-----
diff --git a/source/a/kmod/kmod.SlackBuild b/source/a/kmod/kmod.SlackBuild
index 4eb58cfa2..807f5ee87 100755
--- a/source/a/kmod/kmod.SlackBuild
+++ b/source/a/kmod/kmod.SlackBuild
@@ -2,8 +2,8 @@
# Slackware build script for kmod
-# Copyright 2011,2012,2013 Robby Workman, Northport, Alabama, USA
-# Copyright 2013 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2011-2015 Robby Workman, Tuscaloosa, Alabama, USA
+# Copyright 2013-2015 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,12 +24,12 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PKGNAM=kmod
-VERSION=${VERSION:-15}
+VERSION=${VERSION:-22}
BUILD=${BUILD:-1}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) ARCH=i486 ;;
+ i?86) ARCH=i586 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
@@ -39,8 +39,8 @@ CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-$PKGNAM
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
@@ -82,6 +82,7 @@ CXXFLAGS="$SLKCFLAGS" \
--docdir=/usr/doc/$PKGNAM-$VERSION \
--with-xz \
--with-zlib \
+ --enable-python \
--build=$ARCH-slackware-linux || exit 1
make || exit 1
diff --git a/source/a/less/less.SlackBuild b/source/a/less/less.SlackBuild
index 49a15eed4..3e6908daf 100755
--- a/source/a/less/less.SlackBuild
+++ b/source/a/less/less.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2005-2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2005-2015 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -27,7 +27,7 @@ BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 ) ;;
@@ -36,8 +36,8 @@ fi
NUMJOBS=${NUMJOBS:-" -j7 "}
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
elif [ "$ARCH" = "x86_64" ]; then
@@ -63,7 +63,9 @@ cd $TMP
rm -rf less-$VERSION
tar xvf $CWD/less-$VERSION.tar.?z* || exit 1
cd less-$VERSION
-zcat $CWD/less.sysconfdir.diff.gz | patch -p1 --verbose || exit 1
+
+# Fix path in manpage:
+sed -i "s,/usr/local/etc,/etc,g" less.nro
chown -R root:root .
find . \
diff --git a/source/a/less/less.sysconfdir.diff b/source/a/less/less.sysconfdir.diff
deleted file mode 100644
index 25c5bb584..000000000
--- a/source/a/less/less.sysconfdir.diff
+++ /dev/null
@@ -1,15 +0,0 @@
---- ./less.nro.orig Mon May 27 17:14:24 2002
-+++ ./less.nro Mon May 27 17:14:46 2002
-@@ -947,10 +947,10 @@
- Otherwise,
- .I less
- looks in a standard place for the system-wide lesskey file:
--On Unix systems, the system-wide lesskey file is /usr/local/etc/sysless.
-+On Unix systems, the system-wide lesskey file is /etc/sysless.
- (However, if
- .I less
--was built with a different sysconf directory than /usr/local/etc,
-+was built with a different sysconf directory than /etc,
- that directory is where the sysless file is found.)
- On MS-DOS and Windows systems, the system-wide lesskey file is c:\\_sysless.
- On OS/2 systems, the system-wide lesskey file is c:\\sysless.ini.
diff --git a/source/a/libcgroup/libcgroup.SlackBuild b/source/a/libcgroup/libcgroup.SlackBuild
index cc4cd4212..b15b91ecc 100755
--- a/source/a/libcgroup/libcgroup.SlackBuild
+++ b/source/a/libcgroup/libcgroup.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2011 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2011, 2014 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
PKGNAM=libcgroup
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/a/libcgroup/libcgroup.init.diff b/source/a/libcgroup/libcgroup.init.diff
index 72dcaa31d..c3f110ed6 100644
--- a/source/a/libcgroup/libcgroup.init.diff
+++ b/source/a/libcgroup/libcgroup.init.diff
@@ -1,6 +1,6 @@
---- ./scripts/init.d/cgred.in.orig 2011-03-08 05:29:42.000000000 -0600
-+++ ./scripts/init.d/cgred.in 2013-02-23 16:15:54.054745738 -0600
-@@ -39,9 +39,8 @@
+--- ./scripts/init.d/cgred.in.orig 2014-01-13 08:05:56.000000000 -0600
++++ ./scripts/init.d/cgred.in 2014-08-25 14:38:35.588193215 -0500
+@@ -39,13 +39,12 @@
# Sanity checks
[ -x $CGRED_BIN ] || exit 1
@@ -10,8 +10,14 @@
-. /lib/lsb/init-functions
# Read in configuration options.
- if [ -f "/etc/sysconfig/cgred.conf" ] ; then
-@@ -70,16 +69,16 @@
+-if [ -f "/etc/sysconfig/cgred.conf" ] ; then
+- . /etc/sysconfig/cgred.conf
++if [ -f $CGRED_CONF ] ; then
++ . $CGRED_CONF
+ OPTIONS="$NODAEMON $LOG"
+ if [ -n "$LOG_FILE" ]; then
+ OPTIONS="$OPTIONS --logfile=$LOG_FILE"
+@@ -70,13 +69,13 @@
{
echo -n $"Starting CGroup Rules Engine Daemon: "
if [ -f "$lockfile" ]; then
@@ -19,19 +25,15 @@
+ echo "$servicename is already running with PID `cat ${pidfile}`"
return 0
fi
- if [ ! -s $CGRED_CONF ]; then
-- log_failure_msg "not configured"
-+ echo "not configured"
- return 6
- fi
- if ! grep "^cgroup" /proc/mounts &>/dev/null; then
+ num=`grep "cgroup" /proc/mounts | awk '$3=="cgroup"' | wc -l`
+ if [ $num -eq 0 ]; then
echo
- log_failure_msg $"Cannot find cgroups, is cgconfig service running?"
+ echo $"Cannot find cgroups, is cgconfig service running?"
return 1
fi
daemon --check $servicename --pidfile $pidfile $CGRED_BIN $OPTIONS
-@@ -100,7 +99,7 @@
+@@ -97,7 +96,7 @@
{
echo -n $"Stopping CGroup Rules Engine Daemon..."
if [ ! -f $pidfile ]; then
@@ -40,7 +42,7 @@
return 0
fi
killproc -p $pidfile -TERM "$processname"
-@@ -146,13 +145,13 @@
+@@ -143,13 +142,13 @@
echo $"Reloading rules configuration..."
kill -s 12 `cat ${pidfile}`
RETVAL=$?
@@ -60,8 +62,8 @@
fi
;;
*)
---- ./scripts/init.d/cgconfig.in.orig 2011-12-06 03:42:15.000000000 -0600
-+++ ./scripts/init.d/cgconfig.in 2013-02-23 16:23:51.530775095 -0600
+--- ./scripts/init.d/cgconfig.in.orig 2014-01-13 08:05:56.000000000 -0600
++++ ./scripts/init.d/cgconfig.in 2014-08-25 14:38:38.291193382 -0500
@@ -36,11 +36,6 @@
servicename=cgconfig
lockfile=/var/lock/subsys/$servicename
@@ -75,8 +77,8 @@
CREATE_DEFAULT=yes
if [ -e /etc/sysconfig/cgconfig ]; then
@@ -54,8 +49,8 @@
- grep -m1 '^\*[[:space:]]\+' /etc/cgrules.conf | \
- read user ctrl defaultcgroup
+ read user ctrl defaultcgroup <<< \
+ $(grep -m1 '^\*[[:space:]]\+' /etc/cgrules.conf)
if [ -n "$defaultcgroup" -a "$defaultcgroup" = "*" ]; then
- log_warning_msg "/etc/cgrules.conf incorrect"
- log_warning_msg "Overriding it"
diff --git a/source/a/libgudev/libgudev.SlackBuild b/source/a/libgudev/libgudev.SlackBuild
new file mode 100755
index 000000000..680c95f7c
--- /dev/null
+++ b/source/a/libgudev/libgudev.SlackBuild
@@ -0,0 +1,116 @@
+#!/bin/sh
+
+# Copyright 2015 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.
+
+PKGNAM=libgudev
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.* | cut -d - -f 2 | rev | cut -f 3- -d . | rev)}
+BUILD=${BUILD:-1}
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+# 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 [ "$ARCH" = "x86_64" ]; then
+ LIBDIRSUFFIX="64"
+else
+ LIBDIRSUFFIX=""
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG/lib/udev
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$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 {} \;
+
+LDFLAGS="$LDFLAGS -lrt" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --bindir=/sbin \
+ --sbindir=/sbin \
+ --libexecdir=/lib \
+ --enable-introspection \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --enable-static \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+# Move shared library to /lib${LIBDIRSUFFIX}:
+mkdir $PKG/lib${LIBDIRSUFFIX}
+( cd $PKG/usr/lib${LIBDIRSUFFIX}
+ for file in lib*.so.?.* ; do
+ mv $file ../../lib${LIBDIRSUFFIX}
+ ln -sf ../../lib${LIBDIRSUFFIX}/$file .
+ done
+ cp -a lib*.so.? ../../lib${LIBDIRSUFFIX}
+)
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ COPYING* README* TODO \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+# Compress and fix manpage symlinks:
+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
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c y $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/a/libgudev/slack-desc b/source/a/libgudev/slack-desc
new file mode 100644
index 000000000..9ccca1e96
--- /dev/null
+++ b/source/a/libgudev/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-------------------------------------------------------|
+libgudev: libgudev (udev GObject bindings library)
+libgudev:
+libgudev: This is libgudev, a library providing GObject bindings for libudev.
+libgudev: It used to be part of udev, but it's now a project on its own.
+libgudev:
+libgudev: Homepage: http://wiki.gnome.org/Projects/libgudev
+libgudev:
+libgudev:
+libgudev:
+libgudev:
+libgudev:
diff --git a/source/a/lilo/lilo.SlackBuild b/source/a/lilo/lilo.SlackBuild
index c481b0159..ec4a3ba8c 100755
--- a/source/a/lilo/lilo.SlackBuild
+++ b/source/a/lilo/lilo.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2013, 2015, 2016 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,13 +21,13 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=${VERSION:-24.0}
-BUILD=${BUILD:-4}
+VERSION=${VERSION:-24.2}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 ) ;;
@@ -47,6 +47,8 @@ tar xvf $CWD/lilo-$VERSION.tar.gz || exit 1
cd lilo-$VERSION
chown -R root:root .
+zcat $CWD/lilo.ignore.usable.memory.above.4G.diff.gz | patch -p1 --verbose || exit 1
+
make || exit 1
make -i install DESTDIR=$PKG || exit 1
diff --git a/source/a/lilo/lilo.ignore.usable.memory.above.4G.diff b/source/a/lilo/lilo.ignore.usable.memory.above.4G.diff
new file mode 100644
index 000000000..ee5ad8bca
--- /dev/null
+++ b/source/a/lilo/lilo.ignore.usable.memory.above.4G.diff
@@ -0,0 +1,42 @@
+From Sl4ck3ver on LQ:
+http://www.linuxquestions.org/questions/slackware-14/[patch]-found-a-nasty-lilo-bug-with-a-2-line-fix-for-14-2-a-4175577969/
+
+Every BIOS-e820 entry contains start and size of the area as 64-bit value
+and is shifted right 10 bits (1024) with "shrd" while searching for the
+largest "usable" memory range entry.
+
+
+Finally the found values are converted back into real addresses by shifting
+left 10 bits...
+
+BUT this is done the wrong only using a 32-bit register so the high dword is lost!!!
+
+0x000000027fffffff gets 0x000000007fffffff :-(
+
+Every EXISTING system which happens to work fine just happens to
+have an entry which just contains "usable" memory at that address.
+Often in the form of an entry like:
+
+BIOS-e820: [mem 0x0000000000100000-0x00000000fxxxxxxx] usable
+
+Virtually all systems have "usable" memory at that position, so until
+now this bug was not noticed!
+
+
+HERE IS THE FIX, A 2-LINER:
+===========================
+
+Ignore any usable memory range not starting below 4GB and
+so avoid the truncation, really just a work around :-)
+
+--- ./src/second.S.orig 2016-04-21 15:12:57.155456806 -0500
++++ ./src/second.S 2016-04-21 15:15:08.918466313 -0500
+@@ -2975,6 +2975,8 @@
+ shrd memmap+8,eax,#10 ; convert to 1k
+ cmp dword memmap,#1024 ; below 1M
+ jb e8go2 ; below 1M, no interest
++ cmp dword memmap,#4*1024*1024 ; above 4G
++ jae e8go2 ; above 4G, no interest
+ cmp esi,memmap+8 ; check size
+ ja e8go2 ; want largest
+ mov edx,memmap ; start (in 1k)
diff --git a/source/a/lilo/liloconfig b/source/a/lilo/liloconfig
index 75e3b0eba..f498da727 100644
--- a/source/a/lilo/liloconfig
+++ b/source/a/lilo/liloconfig
@@ -134,7 +134,7 @@ PROBE() {
fdisk -l $devs 2> /dev/null
done
else # We got output without /dev/ide or /dev/scsi, so it can probably be trusted:
- fdisk -l 2> /dev/null
+ fdisk -l 2> /dev/null | sed -e "s/Linux filesystem/Linux/g"
fi
}
diff --git a/source/a/logrotate/logrotate.SlackBuild b/source/a/logrotate/logrotate.SlackBuild
index 63670a0a0..13c1a2304 100755
--- a/source/a/logrotate/logrotate.SlackBuild
+++ b/source/a/logrotate/logrotate.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2012, 2015 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,7 +20,7 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=${VERSION:-3.8.6}
+VERSION=${VERSION:-3.8.9}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
diff --git a/source/a/lrzip/lrzip.SlackBuild b/source/a/lrzip/lrzip.SlackBuild
index 5cc09be64..a69ed91e7 100755
--- a/source/a/lrzip/lrzip.SlackBuild
+++ b/source/a/lrzip/lrzip.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2011, 2015 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -28,7 +28,7 @@ BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 ) ;;
@@ -37,8 +37,8 @@ fi
NUMJOBS=${NUMJOBS:-" -j7 "}
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
diff --git a/source/a/lvm2/create-dm-run-dir.diff b/source/a/lvm2/create-dm-run-dir.diff
new file mode 100644
index 000000000..a0e0a54fd
--- /dev/null
+++ b/source/a/lvm2/create-dm-run-dir.diff
@@ -0,0 +1,13 @@
+diff -Nur LVM2.2.02.114.orig/daemons/dmeventd/dmeventd.c LVM2.2.02.114/daemons/dmeventd/dmeventd.c
+--- LVM2.2.02.114.orig/daemons/dmeventd/dmeventd.c 2014-11-28 17:07:42.000000000 -0600
++++ LVM2.2.02.114/daemons/dmeventd/dmeventd.c 2014-12-08 22:46:58.702066654 -0600
+@@ -2176,6 +2176,9 @@
+ if (_restart)
+ restart();
+
++ /* Create rundir */
++ mkdir(DEFAULT_DM_RUN_DIR, 0700);
++
+ #ifdef __linux__
+ _systemd_activation = _systemd_handover(&fifos);
+ #endif
diff --git a/source/a/lvm2/fix-build-with-udev-183.patch b/source/a/lvm2/fix-build-with-udev-183.patch
deleted file mode 100644
index 747926c44..000000000
--- a/source/a/lvm2/fix-build-with-udev-183.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-From 57f4ebb843195bdd29c0d58e1659eeb0e9700081 Mon Sep 17 00:00:00 2001
-From: "Wulf C. Krueger" <philantrop@exherbo.org>
-Date: Sun, 27 May 2012 00:34:55 +0200
-Subject: [PATCH] lvm2: Fix build with systemd/udev-183.
-
----
- lib/misc/lvm-wrappers.c | 2 +-
- tools/dmsetup.c | 3 +--
- 2 files changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/lib/misc/lvm-wrappers.c b/lib/misc/lvm-wrappers.c
-index 84f61a6..d4fcea6 100644
---- a/lib/misc/lvm-wrappers.c
-+++ b/lib/misc/lvm-wrappers.c
-@@ -72,7 +72,7 @@ const char *udev_get_dev_dir(void)
- return NULL;
- }
-
-- return udev_get_dev_path(_udev);
-+ return "/dev";
- }
-
- struct udev* udev_get_library_context(void)
-diff --git a/tools/dmsetup.c b/tools/dmsetup.c
-index 6934de8..e09b56c 100644
---- a/tools/dmsetup.c
-+++ b/tools/dmsetup.c
-@@ -1009,7 +1009,7 @@ static int _udevcookies(CMD_ARGS)
- static int _set_up_udev_support(const char *dev_dir)
- {
- struct udev *udev;
-- const char *udev_dev_dir;
-+ const char *udev_dev_dir = "/dev";
- size_t udev_dev_dir_len;
- int dirs_diff;
- const char *env;
-@@ -1031,7 +1031,6 @@ static int _set_up_udev_support(const char *dev_dir)
- _udev_cookie);
-
- if (!(udev = udev_new()) ||
-- !(udev_dev_dir = udev_get_dev_path(udev)) ||
- !*udev_dev_dir) {
- log_error("Could not get udev dev path.");
- return 0;
diff --git a/source/a/lvm2/lvm2.SlackBuild b/source/a/lvm2/lvm2.SlackBuild
index d662476c5..d3251c679 100755
--- a/source/a/lvm2/lvm2.SlackBuild
+++ b/source/a/lvm2/lvm2.SlackBuild
@@ -29,7 +29,7 @@ NUMJOBS=${NUMJOBS:-" -j7 "}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 ) ;;
@@ -40,8 +40,8 @@ CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-lvm2
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
@@ -68,8 +68,7 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-# Not yet.
-#zcat $CWD/fix-build-with-udev-183.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/create-dm-run-dir.diff.gz | patch -p1 --verbose || exit 1
# uid 0 = root
# gid 6 = disk
@@ -93,6 +92,7 @@ CFLAGS="$SLKCFLAGS" \
--with-device-mode=0660 \
--with-default-locking-dir=/run/lock/lvm \
--with-default-run-dir=/run/lvm \
+ --with-default-dm-run-dir=/run/lvm \
--with-clvmd-pidfile=/run/lvm/clvmd.pid \
--with-cmirrord-pidfile=/run/lvm/cmirrord.pid \
--with-dmeventd-pidfile=/run/lvm/dmeventd.pid \
diff --git a/source/a/mcelog/mcelog-1.0pre3.tar.bz2.sign b/source/a/mcelog/mcelog-1.0pre3.tar.bz2.sign
deleted file mode 100644
index 1f9c73a47..000000000
--- a/source/a/mcelog/mcelog-1.0pre3.tar.bz2.sign
+++ /dev/null
@@ -1,8 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.9 (GNU/Linux)
-Comment: See http://www.kernel.org/signature.html for info
-
-iD8DBQBLV9g/yGugalF9Dw4RAlheAJ4t2DqUZX1ySR3QH8RdVHLYyePHawCcC/Ct
-N94+oQu1HHumOx0V6Ft+2Fo=
-=eEE6
------END PGP SIGNATURE-----
diff --git a/source/a/mcelog/mcelog.SlackBuild b/source/a/mcelog/mcelog.SlackBuild
index 0a461cd80..1f5e1d7b8 100755
--- a/source/a/mcelog/mcelog.SlackBuild
+++ b/source/a/mcelog/mcelog.SlackBuild
@@ -23,13 +23,13 @@
PKGNAM=mcelog
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.bz2 | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 ) ;;
@@ -47,11 +47,9 @@ mkdir -p $TMP $PKG
cd $TMP
rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.bz2 || exit 1
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
cd $PKGNAM-$VERSION
-zcat $CWD/mcelog.init.diff.gz | patch -p1 --verbose || exit 1
-
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -59,23 +57,25 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-make $NUMJOBS || make || exit 1
+zcat $CWD/mcelog.init.diff.gz | patch -p1 --verbose || exit 1
-mkdir -p $PKG/etc/mcelog $PKG/usr/sbin $PKG/usr/man/man8
-install -m 755 -p mcelog $PKG/usr/sbin/mcelog
-install -m 644 -p mcelog.8 $PKG/usr/man/man8
-gzip -9 $PKG/usr/man/man8/mcelog.8
-install -m 644 -p -b mcelog.conf $PKG/etc/mcelog/mcelog.conf.new
-for i in cache-error-trigger dimm-error-trigger page-error-trigger socket-memory-error-trigger ; do
- install -m 755 -p -b triggers/$i $PKG/etc/mcelog
-done
+make $NUMJOBS DOCDIR=/usr/doc/mcelog-$VERSION MANDIR=/usr/man \
+ || make DOCDIR=/usr/doc/mcelog-$VERSION MANDIR=/usr/man \
+ || exit 1
-mkdir -p $PKG/etc/rc.d
-install -m 755 -p mcelog.init $PKG/etc/rc.d/rc.mcelog.new
+make install DOCDIR=/usr/doc/mcelog-$VERSION MANDIR=/usr/man DESTDIR=$PKG
+
+mv $PKG/etc/mcelog/mcelog.conf $PKG/etc/mcelog/mcelog.conf.new
+rm -f $PKG/etc/mcelog/*~
mkdir -p $PKG/etc/logrotate.d
install -m 644 -p mcelog.logrotate $PKG/etc/logrotate.d/mcelog.new
+mkdir -p $PKG/etc/rc.d
+install -m 755 -p mcelog.init $PKG/etc/rc.d/rc.mcelog.new
+
+gzip -9 $PKG/usr/man/man?/*.?
+
mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
cp -a \
CHANGES README* TODO* *.pdf \
diff --git a/source/a/mdadm/mdadm-3.3.4.tar.sign b/source/a/mdadm/mdadm-3.3.4.tar.sign
new file mode 100644
index 000000000..70e2a5636
--- /dev/null
+++ b/source/a/mdadm/mdadm-3.3.4.tar.sign
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2
+
+iQIcBAABCAAGBQJVvwgLAAoJEDnsnt1WYoG5NEwP/00Ip3ScYXglN7Co6/dIcF93
+qrJG8lvFbG5UicqpUcTmSN7yLconU58Zlw9U8tz3sx362BGgVTkHPCq4aKlrXyGS
+HqD+1u+KNSeiz8UIitW22VpOnUuExYO08unwhYEos8LoRXM/MDUZBzE3sjI/UmKp
+G6kCxl8oziJCvLfbUleO+A//ucFihW0Etx/VUqI4Q6CGTxQSDqQkiBXs7VtZv5cU
+UvbDYO39Fj8NRG/JUl21ZdCgPbqQL9ohYmI9v0DkI1dXYe6KsNH/7FbXDGXgfwWl
+soSJeMOjkIoF2dU52HXtDnX1YRr6twX0TCwMQCoJ3b+o6s55TDYA19Kg9xIHXhlG
+8MSxYoP0hoabmdT+Zx2yJ0dD6qTMJCTD/DN4NDRUaK9OY83+1EfX/gOcKiMX7k47
+aPV4dSWBCYRlkjGZz9bK1jN+7AvDIej22QBoxwDZac+x/vUfV8ccwJOZQ08kYZYT
+Gvy4zK6a6gWPj/XaujXm58j4rBBfapvpOQ+gssETDkiug8WCzLEmZnnD/DFbc6Rv
+10Fs4C3hXt6OnrwpyOeP9XmXNDj4tTeYYNL3svbkv0MQXDtgXDoKldohwFs056rw
+5IrDEVvKUuHCfspCNRP4CXN3+/R4p2TwTGrlyPmZTWqSCzVf9B1UnEIMxZ0gGmq/
+AykNvFYvq2+n5RaTWX5M
+=PuYU
+-----END PGP SIGNATURE-----
diff --git a/source/a/mdadm/mdadm.SlackBuild b/source/a/mdadm/mdadm.SlackBuild
index 7ede6ab77..dff9dd018 100755
--- a/source/a/mdadm/mdadm.SlackBuild
+++ b/source/a/mdadm/mdadm.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2016 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,13 +21,13 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=${VERSION:-$(echo mdadm-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+VERSION=${VERSION:-$(echo mdadm-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 ) ;;
@@ -40,8 +40,8 @@ CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-mdadm
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
@@ -58,7 +58,7 @@ rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf mdadm-$VERSION
-tar xvf $CWD/mdadm-$VERSION.tar.?z || exit 1
+tar xvf $CWD/mdadm-$VERSION.tar.xz || exit 1
cd mdadm-$VERSION
chown -R root:root .
@@ -98,7 +98,7 @@ cat mdadm.conf-example > $PKG/etc/mdadm.conf.new
mkdir -p $PKG/usr/doc/mdadm-$VERSION
cp -a \
- ANNOUNCE-$VERSION COPYING* INSTALL TODO \
+ ANNOUNCE-$VERSION COPYING* INSTALL README* TODO \
$PKG/usr/doc/mdadm-$VERSION
# If there's a ChangeLog, installing at least part of the recent history
diff --git a/source/a/mkinitrd/busybox-dot-config.1.15.x b/source/a/mkinitrd/busybox-dot-config.1.15.x
deleted file mode 100644
index 65e298b5f..000000000
--- a/source/a/mkinitrd/busybox-dot-config.1.15.x
+++ /dev/null
@@ -1,903 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Busybox version: 1.15.3
-# Thu Dec 17 17:50:16 2009
-#
-CONFIG_HAVE_DOT_CONFIG=y
-
-#
-# Busybox Settings
-#
-
-#
-# General Configuration
-#
-CONFIG_DESKTOP=y
-# CONFIG_EXTRA_COMPAT is not set
-CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
-# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
-# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
-CONFIG_SHOW_USAGE=y
-CONFIG_FEATURE_VERBOSE_USAGE=y
-CONFIG_FEATURE_COMPRESS_USAGE=y
-CONFIG_FEATURE_INSTALLER=y
-CONFIG_LOCALE_SUPPORT=y
-# CONFIG_FEATURE_ASSUME_UNICODE is not set
-# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set
-CONFIG_LONG_OPTS=y
-CONFIG_FEATURE_DEVPTS=y
-# CONFIG_FEATURE_CLEAN_UP is not set
-CONFIG_FEATURE_PIDFILE=y
-CONFIG_FEATURE_SUID=y
-CONFIG_FEATURE_SUID_CONFIG=y
-CONFIG_FEATURE_SUID_CONFIG_QUIET=y
-# CONFIG_SELINUX is not set
-# CONFIG_FEATURE_PREFER_APPLETS is not set
-CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
-CONFIG_FEATURE_SYSLOG=y
-CONFIG_FEATURE_HAVE_RPC=y
-
-#
-# Build Options
-#
-# CONFIG_STATIC is not set
-# CONFIG_PIE is not set
-# CONFIG_NOMMU is not set
-# CONFIG_BUILD_LIBBUSYBOX is not set
-# CONFIG_FEATURE_INDIVIDUAL is not set
-# CONFIG_FEATURE_SHARED_BUSYBOX is not set
-CONFIG_LFS=y
-CONFIG_CROSS_COMPILER_PREFIX=""
-CONFIG_EXTRA_CFLAGS=""
-
-#
-# Debugging Options
-#
-# CONFIG_DEBUG is not set
-# CONFIG_DEBUG_PESSIMIZE is not set
-# CONFIG_WERROR is not set
-CONFIG_NO_DEBUG_LIB=y
-# CONFIG_DMALLOC is not set
-# CONFIG_EFENCE is not set
-CONFIG_INCLUDE_SUSv2=y
-
-#
-# Installation Options
-#
-CONFIG_INSTALL_NO_USR=y
-CONFIG_INSTALL_APPLET_SYMLINKS=y
-# CONFIG_INSTALL_APPLET_HARDLINKS is not set
-# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set
-# CONFIG_INSTALL_APPLET_DONT is not set
-# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set
-# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set
-# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set
-CONFIG_PREFIX="/tmp/package-mkinitrd/usr/share/mkinitrd/initrd-tree"
-
-#
-# Busybox Library Tuning
-#
-CONFIG_PASSWORD_MINLEN=6
-CONFIG_MD5_SIZE_VS_SPEED=2
-# CONFIG_FEATURE_FAST_TOP is not set
-# CONFIG_FEATURE_ETC_NETWORKS is not set
-CONFIG_FEATURE_EDITING=y
-CONFIG_FEATURE_EDITING_MAX_LEN=1024
-CONFIG_FEATURE_EDITING_VI=y
-CONFIG_FEATURE_EDITING_HISTORY=64
-# CONFIG_FEATURE_EDITING_SAVEHISTORY is not set
-CONFIG_FEATURE_TAB_COMPLETION=y
-# CONFIG_FEATURE_USERNAME_COMPLETION is not set
-CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
-CONFIG_FEATURE_EDITING_ASK_TERMINAL=y
-# CONFIG_FEATURE_NON_POSIX_CP is not set
-CONFIG_FEATURE_VERBOSE_CP_MESSAGE=y
-CONFIG_FEATURE_COPYBUF_KB=4
-CONFIG_MONOTONIC_SYSCALL=y
-CONFIG_IOCTL_HEX2STR_ERROR=y
-# CONFIG_FEATURE_HWIB is not set
-
-#
-# Applets
-#
-
-#
-# Archival Utilities
-#
-# CONFIG_FEATURE_SEAMLESS_LZMA is not set
-CONFIG_FEATURE_SEAMLESS_BZ2=y
-CONFIG_FEATURE_SEAMLESS_GZ=y
-CONFIG_FEATURE_SEAMLESS_Z=y
-CONFIG_AR=y
-CONFIG_FEATURE_AR_LONG_FILENAMES=y
-CONFIG_BUNZIP2=y
-CONFIG_BZIP2=y
-CONFIG_CPIO=y
-CONFIG_FEATURE_CPIO_O=y
-CONFIG_FEATURE_CPIO_P=y
-# CONFIG_DPKG is not set
-# CONFIG_DPKG_DEB is not set
-# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
-CONFIG_GUNZIP=y
-CONFIG_GZIP=y
-CONFIG_LZOP=y
-CONFIG_LZOP_COMPR_HIGH=y
-CONFIG_RPM2CPIO=y
-# CONFIG_RPM is not set
-CONFIG_TAR=y
-CONFIG_FEATURE_TAR_CREATE=y
-CONFIG_FEATURE_TAR_AUTODETECT=y
-CONFIG_FEATURE_TAR_FROM=y
-CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y
-# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set
-CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
-CONFIG_FEATURE_TAR_LONG_OPTIONS=y
-CONFIG_FEATURE_TAR_UNAME_GNAME=y
-CONFIG_UNCOMPRESS=y
-CONFIG_UNLZMA=y
-CONFIG_FEATURE_LZMA_FAST=y
-CONFIG_UNZIP=y
-
-#
-# Coreutils
-#
-CONFIG_BASENAME=y
-CONFIG_CAL=y
-CONFIG_CAT=y
-CONFIG_CATV=y
-CONFIG_CHGRP=y
-CONFIG_CHMOD=y
-CONFIG_CHOWN=y
-CONFIG_CHROOT=y
-CONFIG_CKSUM=y
-CONFIG_COMM=y
-CONFIG_CP=y
-CONFIG_CUT=y
-CONFIG_DATE=y
-CONFIG_FEATURE_DATE_ISOFMT=y
-CONFIG_DD=y
-CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
-CONFIG_FEATURE_DD_IBS_OBS=y
-CONFIG_DF=y
-CONFIG_FEATURE_DF_FANCY=y
-CONFIG_DIRNAME=y
-CONFIG_DOS2UNIX=y
-CONFIG_UNIX2DOS=y
-CONFIG_DU=y
-CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
-CONFIG_ECHO=y
-CONFIG_FEATURE_FANCY_ECHO=y
-CONFIG_ENV=y
-CONFIG_FEATURE_ENV_LONG_OPTIONS=y
-CONFIG_EXPAND=y
-CONFIG_FEATURE_EXPAND_LONG_OPTIONS=y
-CONFIG_EXPR=y
-CONFIG_EXPR_MATH_SUPPORT_64=y
-CONFIG_FALSE=y
-CONFIG_FOLD=y
-CONFIG_FSYNC=y
-CONFIG_HEAD=y
-CONFIG_FEATURE_FANCY_HEAD=y
-CONFIG_HOSTID=y
-CONFIG_ID=y
-CONFIG_INSTALL=y
-CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y
-CONFIG_LENGTH=y
-CONFIG_LN=y
-CONFIG_LOGNAME=y
-CONFIG_LS=y
-CONFIG_FEATURE_LS_FILETYPES=y
-CONFIG_FEATURE_LS_FOLLOWLINKS=y
-CONFIG_FEATURE_LS_RECURSIVE=y
-CONFIG_FEATURE_LS_SORTFILES=y
-CONFIG_FEATURE_LS_TIMESTAMPS=y
-CONFIG_FEATURE_LS_USERNAME=y
-CONFIG_FEATURE_LS_COLOR=y
-CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y
-CONFIG_MD5SUM=y
-CONFIG_MKDIR=y
-CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y
-CONFIG_MKFIFO=y
-CONFIG_MKNOD=y
-CONFIG_MV=y
-CONFIG_FEATURE_MV_LONG_OPTIONS=y
-CONFIG_NICE=y
-CONFIG_NOHUP=y
-CONFIG_OD=y
-CONFIG_PRINTENV=y
-CONFIG_PRINTF=y
-CONFIG_PWD=y
-CONFIG_READLINK=y
-CONFIG_FEATURE_READLINK_FOLLOW=y
-CONFIG_REALPATH=y
-CONFIG_RM=y
-CONFIG_RMDIR=y
-# CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set
-CONFIG_SEQ=y
-CONFIG_SHA1SUM=y
-CONFIG_SHA256SUM=y
-CONFIG_SHA512SUM=y
-CONFIG_SLEEP=y
-CONFIG_FEATURE_FANCY_SLEEP=y
-# CONFIG_FEATURE_FLOAT_SLEEP is not set
-CONFIG_SORT=y
-CONFIG_FEATURE_SORT_BIG=y
-CONFIG_SPLIT=y
-CONFIG_FEATURE_SPLIT_FANCY=y
-CONFIG_STAT=y
-CONFIG_FEATURE_STAT_FORMAT=y
-CONFIG_STTY=y
-CONFIG_SUM=y
-CONFIG_SYNC=y
-CONFIG_TAC=y
-CONFIG_TAIL=y
-CONFIG_FEATURE_FANCY_TAIL=y
-CONFIG_TEE=y
-CONFIG_FEATURE_TEE_USE_BLOCK_IO=y
-CONFIG_TEST=y
-CONFIG_FEATURE_TEST_64=y
-CONFIG_TOUCH=y
-CONFIG_TR=y
-CONFIG_FEATURE_TR_CLASSES=y
-CONFIG_FEATURE_TR_EQUIV=y
-CONFIG_TRUE=y
-CONFIG_TTY=y
-CONFIG_UNAME=y
-CONFIG_UNEXPAND=y
-CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS=y
-CONFIG_UNIQ=y
-CONFIG_USLEEP=y
-CONFIG_UUDECODE=y
-CONFIG_UUENCODE=y
-CONFIG_WC=y
-CONFIG_FEATURE_WC_LARGE=y
-CONFIG_WHO=y
-CONFIG_WHOAMI=y
-CONFIG_YES=y
-
-#
-# Common options for cp and mv
-#
-CONFIG_FEATURE_PRESERVE_HARDLINKS=y
-
-#
-# Common options for ls, more and telnet
-#
-CONFIG_FEATURE_AUTOWIDTH=y
-
-#
-# Common options for df, du, ls
-#
-CONFIG_FEATURE_HUMAN_READABLE=y
-
-#
-# Common options for md5sum, sha1sum
-#
-CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
-
-#
-# Console Utilities
-#
-CONFIG_CHVT=y
-CONFIG_CLEAR=y
-CONFIG_DEALLOCVT=y
-CONFIG_DUMPKMAP=y
-CONFIG_KBD_MODE=y
-CONFIG_LOADFONT=y
-CONFIG_LOADKMAP=y
-CONFIG_OPENVT=y
-CONFIG_RESET=y
-CONFIG_RESIZE=y
-CONFIG_FEATURE_RESIZE_PRINT=y
-CONFIG_SETCONSOLE=y
-CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS=y
-CONFIG_SETFONT=y
-CONFIG_FEATURE_SETFONT_TEXTUAL_MAP=y
-CONFIG_DEFAULT_SETFONT_DIR="/usr/share/kbd/consolefonts"
-CONFIG_SETKEYCODES=y
-CONFIG_SETLOGCONS=y
-CONFIG_SHOWKEY=y
-
-#
-# Debian Utilities
-#
-CONFIG_MKTEMP=y
-CONFIG_PIPE_PROGRESS=y
-CONFIG_RUN_PARTS=y
-CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y
-CONFIG_FEATURE_RUN_PARTS_FANCY=y
-CONFIG_START_STOP_DAEMON=y
-CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y
-CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y
-CONFIG_WHICH=y
-
-#
-# Editors
-#
-CONFIG_AWK=y
-CONFIG_FEATURE_AWK_LIBM=y
-CONFIG_CMP=y
-CONFIG_DIFF=y
-CONFIG_FEATURE_DIFF_BINARY=y
-CONFIG_FEATURE_DIFF_DIR=y
-CONFIG_FEATURE_DIFF_MINIMAL=y
-CONFIG_ED=y
-CONFIG_PATCH=y
-CONFIG_SED=y
-CONFIG_VI=y
-CONFIG_FEATURE_VI_MAX_LEN=1024
-CONFIG_FEATURE_VI_8BIT=y
-CONFIG_FEATURE_VI_COLON=y
-CONFIG_FEATURE_VI_YANKMARK=y
-CONFIG_FEATURE_VI_SEARCH=y
-CONFIG_FEATURE_VI_USE_SIGNALS=y
-CONFIG_FEATURE_VI_DOT_CMD=y
-CONFIG_FEATURE_VI_READONLY=y
-CONFIG_FEATURE_VI_SETOPTS=y
-CONFIG_FEATURE_VI_SET=y
-CONFIG_FEATURE_VI_WIN_RESIZE=y
-CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
-CONFIG_FEATURE_ALLOW_EXEC=y
-
-#
-# Finding Utilities
-#
-CONFIG_FIND=y
-CONFIG_FEATURE_FIND_PRINT0=y
-CONFIG_FEATURE_FIND_MTIME=y
-CONFIG_FEATURE_FIND_MMIN=y
-CONFIG_FEATURE_FIND_PERM=y
-CONFIG_FEATURE_FIND_TYPE=y
-CONFIG_FEATURE_FIND_XDEV=y
-CONFIG_FEATURE_FIND_MAXDEPTH=y
-CONFIG_FEATURE_FIND_NEWER=y
-CONFIG_FEATURE_FIND_INUM=y
-CONFIG_FEATURE_FIND_EXEC=y
-CONFIG_FEATURE_FIND_USER=y
-CONFIG_FEATURE_FIND_GROUP=y
-CONFIG_FEATURE_FIND_NOT=y
-CONFIG_FEATURE_FIND_DEPTH=y
-CONFIG_FEATURE_FIND_PAREN=y
-CONFIG_FEATURE_FIND_SIZE=y
-CONFIG_FEATURE_FIND_PRUNE=y
-# CONFIG_FEATURE_FIND_DELETE is not set
-CONFIG_FEATURE_FIND_PATH=y
-CONFIG_FEATURE_FIND_REGEX=y
-# CONFIG_FEATURE_FIND_CONTEXT is not set
-CONFIG_GREP=y
-CONFIG_FEATURE_GREP_EGREP_ALIAS=y
-CONFIG_FEATURE_GREP_FGREP_ALIAS=y
-CONFIG_FEATURE_GREP_CONTEXT=y
-CONFIG_XARGS=y
-CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y
-CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y
-CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y
-CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
-
-#
-# Init Utilities
-#
-CONFIG_INIT=y
-CONFIG_FEATURE_USE_INITTAB=y
-CONFIG_FEATURE_KILL_REMOVED=y
-CONFIG_FEATURE_KILL_DELAY=10
-CONFIG_FEATURE_INIT_SCTTY=y
-CONFIG_FEATURE_INIT_SYSLOG=y
-CONFIG_FEATURE_EXTRA_QUIET=y
-# CONFIG_FEATURE_INIT_COREDUMPS is not set
-# CONFIG_FEATURE_INITRD is not set
-CONFIG_HALT=y
-# CONFIG_FEATURE_CALL_TELINIT is not set
-CONFIG_TELINIT_PATH=""
-CONFIG_MESG=y
-
-#
-# Login/Password Management Utilities
-#
-CONFIG_FEATURE_SHADOWPASSWDS=y
-# CONFIG_USE_BB_PWD_GRP is not set
-# CONFIG_USE_BB_SHADOW is not set
-CONFIG_USE_BB_CRYPT=y
-CONFIG_USE_BB_CRYPT_SHA=y
-CONFIG_ADDGROUP=y
-CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS=y
-CONFIG_FEATURE_ADDUSER_TO_GROUP=y
-CONFIG_DELGROUP=y
-CONFIG_FEATURE_DEL_USER_FROM_GROUP=y
-CONFIG_FEATURE_CHECK_NAMES=y
-CONFIG_ADDUSER=y
-# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set
-CONFIG_FIRST_SYSTEM_ID=1000
-CONFIG_LAST_SYSTEM_ID=12000
-CONFIG_DELUSER=y
-CONFIG_GETTY=y
-CONFIG_FEATURE_UTMP=y
-CONFIG_FEATURE_WTMP=y
-CONFIG_LOGIN=y
-# CONFIG_PAM is not set
-CONFIG_LOGIN_SCRIPTS=y
-CONFIG_FEATURE_NOLOGIN=y
-# CONFIG_FEATURE_SECURETTY is not set
-CONFIG_PASSWD=y
-CONFIG_FEATURE_PASSWD_WEAK_CHECK=y
-CONFIG_CRYPTPW=y
-CONFIG_CHPASSWD=y
-CONFIG_SU=y
-CONFIG_FEATURE_SU_SYSLOG=y
-CONFIG_FEATURE_SU_CHECKS_SHELLS=y
-CONFIG_SULOGIN=y
-CONFIG_VLOCK=y
-
-#
-# Linux Ext2 FS Progs
-#
-CONFIG_CHATTR=y
-CONFIG_FSCK=y
-CONFIG_LSATTR=y
-
-#
-# Linux Module Utilities
-#
-# CONFIG_MODPROBE_SMALL is not set
-# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set
-# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set
-CONFIG_INSMOD=y
-CONFIG_RMMOD=y
-CONFIG_LSMOD=y
-CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y
-CONFIG_MODPROBE=y
-CONFIG_FEATURE_MODPROBE_BLACKLIST=y
-CONFIG_DEPMOD=y
-
-#
-# Options common to multiple modutils
-#
-CONFIG_FEATURE_2_4_MODULES=y
-# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
-CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS=y
-# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
-# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
-# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
-CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
-CONFIG_FEATURE_MODUTILS_ALIAS=y
-CONFIG_FEATURE_MODUTILS_SYMBOLS=y
-CONFIG_DEFAULT_MODULES_DIR="/lib/modules"
-CONFIG_DEFAULT_DEPMOD_FILE="modules.dep"
-
-#
-# Linux System Utilities
-#
-CONFIG_ACPID=y
-CONFIG_FEATURE_ACPID_COMPAT=y
-CONFIG_BLKID=y
-CONFIG_DMESG=y
-CONFIG_FEATURE_DMESG_PRETTY=y
-CONFIG_FBSET=y
-CONFIG_FEATURE_FBSET_FANCY=y
-CONFIG_FEATURE_FBSET_READMODE=y
-CONFIG_FDFLUSH=y
-CONFIG_FDFORMAT=y
-CONFIG_FDISK=y
-CONFIG_FDISK_SUPPORT_LARGE_DISKS=y
-CONFIG_FEATURE_FDISK_WRITABLE=y
-# CONFIG_FEATURE_AIX_LABEL is not set
-# CONFIG_FEATURE_SGI_LABEL is not set
-# CONFIG_FEATURE_SUN_LABEL is not set
-CONFIG_FEATURE_OSF_LABEL=y
-CONFIG_FEATURE_FDISK_ADVANCED=y
-CONFIG_FINDFS=y
-CONFIG_FREERAMDISK=y
-CONFIG_FSCK_MINIX=y
-CONFIG_MKFS_MINIX=y
-
-#
-# Minix filesystem support
-#
-CONFIG_FEATURE_MINIX2=y
-CONFIG_MKFS_VFAT=y
-CONFIG_GETOPT=y
-CONFIG_FEATURE_GETOPT_LONG=y
-CONFIG_HEXDUMP=y
-CONFIG_FEATURE_HEXDUMP_REVERSE=y
-CONFIG_HD=y
-CONFIG_HWCLOCK=y
-CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y
-CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y
-CONFIG_IPCRM=y
-CONFIG_IPCS=y
-CONFIG_LOSETUP=y
-CONFIG_MDEV=y
-CONFIG_FEATURE_MDEV_CONF=y
-CONFIG_FEATURE_MDEV_RENAME=y
-CONFIG_FEATURE_MDEV_RENAME_REGEXP=y
-CONFIG_FEATURE_MDEV_EXEC=y
-CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y
-CONFIG_MKSWAP=y
-CONFIG_FEATURE_MKSWAP_UUID=y
-CONFIG_MORE=y
-CONFIG_FEATURE_USE_TERMIOS=y
-CONFIG_VOLUMEID=y
-CONFIG_FEATURE_VOLUMEID_EXT=y
-CONFIG_FEATURE_VOLUMEID_REISERFS=y
-CONFIG_FEATURE_VOLUMEID_FAT=y
-CONFIG_FEATURE_VOLUMEID_HFS=y
-CONFIG_FEATURE_VOLUMEID_JFS=y
-CONFIG_FEATURE_VOLUMEID_XFS=y
-CONFIG_FEATURE_VOLUMEID_NTFS=y
-CONFIG_FEATURE_VOLUMEID_ISO9660=y
-CONFIG_FEATURE_VOLUMEID_UDF=y
-CONFIG_FEATURE_VOLUMEID_LUKS=y
-CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y
-CONFIG_FEATURE_VOLUMEID_CRAMFS=y
-CONFIG_FEATURE_VOLUMEID_ROMFS=y
-CONFIG_FEATURE_VOLUMEID_SYSV=y
-# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set
-CONFIG_FEATURE_VOLUMEID_LINUXRAID=y
-CONFIG_MOUNT=y
-CONFIG_FEATURE_MOUNT_FAKE=y
-# CONFIG_FEATURE_MOUNT_VERBOSE is not set
-CONFIG_FEATURE_MOUNT_HELPERS=y
-CONFIG_FEATURE_MOUNT_LABEL=y
-CONFIG_FEATURE_MOUNT_NFS=y
-CONFIG_FEATURE_MOUNT_CIFS=y
-CONFIG_FEATURE_MOUNT_FLAGS=y
-CONFIG_FEATURE_MOUNT_FSTAB=y
-CONFIG_PIVOT_ROOT=y
-CONFIG_RDATE=y
-CONFIG_RDEV=y
-CONFIG_READPROFILE=y
-CONFIG_RTCWAKE=y
-CONFIG_SCRIPT=y
-CONFIG_SCRIPTREPLAY=y
-CONFIG_SETARCH=y
-CONFIG_SWAPONOFF=y
-CONFIG_FEATURE_SWAPON_PRI=y
-CONFIG_SWITCH_ROOT=y
-CONFIG_UMOUNT=y
-CONFIG_FEATURE_UMOUNT_ALL=y
-
-#
-# Common options for mount/umount
-#
-CONFIG_FEATURE_MOUNT_LOOP=y
-CONFIG_FEATURE_MTAB_SUPPORT=y
-
-#
-# Miscellaneous Utilities
-#
-CONFIG_ADJTIMEX=y
-CONFIG_BBCONFIG=y
-CONFIG_BEEP=y
-CONFIG_FEATURE_BEEP_FREQ=4000
-CONFIG_FEATURE_BEEP_LENGTH_MS=30
-CONFIG_CHAT=y
-CONFIG_FEATURE_CHAT_NOFAIL=y
-# CONFIG_FEATURE_CHAT_TTY_HIFI is not set
-CONFIG_FEATURE_CHAT_IMPLICIT_CR=y
-# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set
-# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set
-# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set
-# CONFIG_FEATURE_CHAT_CLR_ABORT is not set
-CONFIG_CHRT=y
-CONFIG_CROND=y
-CONFIG_FEATURE_CROND_D=y
-# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
-CONFIG_FEATURE_CROND_DIR="/var/spool/cron"
-CONFIG_CRONTAB=y
-CONFIG_DC=y
-CONFIG_FEATURE_DC_LIBM=y
-# CONFIG_DEVFSD is not set
-# CONFIG_DEVFSD_MODLOAD is not set
-# CONFIG_DEVFSD_FG_NP is not set
-# CONFIG_DEVFSD_VERBOSE is not set
-# CONFIG_FEATURE_DEVFS is not set
-CONFIG_DEVMEM=y
-CONFIG_EJECT=y
-CONFIG_FEATURE_EJECT_SCSI=y
-CONFIG_FBSPLASH=y
-CONFIG_FLASH_LOCK=y
-CONFIG_FLASH_UNLOCK=y
-CONFIG_FLASH_ERASEALL=y
-CONFIG_IONICE=y
-CONFIG_INOTIFYD=y
-CONFIG_LAST=y
-CONFIG_FEATURE_LAST_SMALL=y
-# CONFIG_FEATURE_LAST_FANCY is not set
-CONFIG_LESS=y
-CONFIG_FEATURE_LESS_MAXLINES=9999999
-CONFIG_FEATURE_LESS_BRACKETS=y
-CONFIG_FEATURE_LESS_FLAGS=y
-CONFIG_FEATURE_LESS_MARKS=y
-CONFIG_FEATURE_LESS_REGEXP=y
-CONFIG_FEATURE_LESS_WINCH=y
-CONFIG_FEATURE_LESS_DASHCMD=y
-CONFIG_FEATURE_LESS_LINENUMS=y
-CONFIG_HDPARM=y
-CONFIG_FEATURE_HDPARM_GET_IDENTITY=y
-CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF=y
-CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF=y
-CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET=y
-CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF=y
-CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y
-CONFIG_MAKEDEVS=y
-# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
-CONFIG_FEATURE_MAKEDEVS_TABLE=y
-# CONFIG_MAN is not set
-# CONFIG_MICROCOM is not set
-CONFIG_MOUNTPOINT=y
-CONFIG_MT=y
-CONFIG_RAIDAUTORUN=y
-CONFIG_READAHEAD=y
-CONFIG_RUNLEVEL=y
-CONFIG_RX=y
-CONFIG_SETSID=y
-CONFIG_STRINGS=y
-CONFIG_TASKSET=y
-CONFIG_FEATURE_TASKSET_FANCY=y
-CONFIG_TIME=y
-CONFIG_TIMEOUT=y
-CONFIG_TTYSIZE=y
-CONFIG_VOLNAME=y
-CONFIG_WATCHDOG=y
-
-#
-# Networking Utilities
-#
-CONFIG_FEATURE_IPV6=y
-CONFIG_FEATURE_UNIX_LOCAL=y
-CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y
-# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set
-CONFIG_ARP=y
-CONFIG_ARPING=y
-CONFIG_BRCTL=y
-# CONFIG_FEATURE_BRCTL_FANCY is not set
-# CONFIG_FEATURE_BRCTL_SHOW is not set
-CONFIG_DNSD=y
-CONFIG_ETHER_WAKE=y
-CONFIG_FAKEIDENTD=y
-CONFIG_FTPD=y
-CONFIG_FEATURE_FTP_WRITE=y
-CONFIG_FTPGET=y
-CONFIG_FTPPUT=y
-CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y
-CONFIG_HOSTNAME=y
-# CONFIG_HTTPD is not set
-# CONFIG_FEATURE_HTTPD_RANGES is not set
-# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set
-# CONFIG_FEATURE_HTTPD_SETUID is not set
-# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set
-# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set
-# CONFIG_FEATURE_HTTPD_CGI is not set
-# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set
-# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set
-# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set
-# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set
-# CONFIG_FEATURE_HTTPD_PROXY is not set
-CONFIG_IFCONFIG=y
-CONFIG_FEATURE_IFCONFIG_STATUS=y
-CONFIG_FEATURE_IFCONFIG_SLIP=y
-CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y
-CONFIG_FEATURE_IFCONFIG_HW=y
-CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
-CONFIG_IFENSLAVE=y
-CONFIG_IFPLUGD=y
-CONFIG_IFUPDOWN=y
-CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate"
-CONFIG_FEATURE_IFUPDOWN_IP=y
-CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y
-# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set
-CONFIG_FEATURE_IFUPDOWN_IPV4=y
-CONFIG_FEATURE_IFUPDOWN_IPV6=y
-CONFIG_FEATURE_IFUPDOWN_MAPPING=y
-CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP=y
-# CONFIG_INETD is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set
-# CONFIG_FEATURE_INETD_RPC is not set
-CONFIG_IP=y
-CONFIG_FEATURE_IP_ADDRESS=y
-CONFIG_FEATURE_IP_LINK=y
-CONFIG_FEATURE_IP_ROUTE=y
-CONFIG_FEATURE_IP_TUNNEL=y
-CONFIG_FEATURE_IP_RULE=y
-CONFIG_FEATURE_IP_SHORT_FORMS=y
-# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set
-CONFIG_IPADDR=y
-CONFIG_IPLINK=y
-CONFIG_IPROUTE=y
-CONFIG_IPTUNNEL=y
-CONFIG_IPRULE=y
-CONFIG_IPCALC=y
-CONFIG_FEATURE_IPCALC_FANCY=y
-CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y
-CONFIG_NAMEIF=y
-# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
-CONFIG_NC=y
-CONFIG_NC_SERVER=y
-CONFIG_NC_EXTRA=y
-CONFIG_NETSTAT=y
-# CONFIG_FEATURE_NETSTAT_WIDE is not set
-CONFIG_FEATURE_NETSTAT_PRG=y
-CONFIG_NSLOOKUP=y
-CONFIG_PING=y
-CONFIG_PING6=y
-CONFIG_FEATURE_FANCY_PING=y
-CONFIG_PSCAN=y
-CONFIG_ROUTE=y
-CONFIG_SLATTACH=y
-CONFIG_TELNET=y
-CONFIG_FEATURE_TELNET_TTYPE=y
-CONFIG_FEATURE_TELNET_AUTOLOGIN=y
-CONFIG_TELNETD=y
-CONFIG_FEATURE_TELNETD_STANDALONE=y
-CONFIG_TFTP=y
-# CONFIG_TFTPD is not set
-CONFIG_FEATURE_TFTP_GET=y
-CONFIG_FEATURE_TFTP_PUT=y
-CONFIG_FEATURE_TFTP_BLOCKSIZE=y
-CONFIG_TFTP_DEBUG=y
-CONFIG_TRACEROUTE=y
-# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
-# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set
-# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
-# CONFIG_APP_UDHCPD is not set
-# CONFIG_APP_DHCPRELAY is not set
-# CONFIG_APP_DUMPLEASES is not set
-# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
-CONFIG_DHCPD_LEASES_FILE=""
-# CONFIG_APP_UDHCPC is not set
-# CONFIG_FEATURE_UDHCPC_ARPING is not set
-# CONFIG_FEATURE_UDHCP_PORT is not set
-CONFIG_UDHCP_DEBUG=0
-# CONFIG_FEATURE_UDHCP_RFC3397 is not set
-CONFIG_UDHCPC_DEFAULT_SCRIPT=""
-CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=0
-CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS=""
-CONFIG_VCONFIG=y
-CONFIG_WGET=y
-CONFIG_FEATURE_WGET_STATUSBAR=y
-CONFIG_FEATURE_WGET_AUTHENTICATION=y
-CONFIG_FEATURE_WGET_LONG_OPTIONS=y
-CONFIG_ZCIP=y
-CONFIG_TCPSVD=y
-CONFIG_TUNCTL=y
-CONFIG_FEATURE_TUNCTL_UG=y
-CONFIG_UDPSVD=y
-
-#
-# Print Utilities
-#
-# CONFIG_LPD is not set
-CONFIG_LPR=y
-# CONFIG_LPQ is not set
-
-#
-# Mail Utilities
-#
-CONFIG_MAKEMIME=y
-CONFIG_FEATURE_MIME_CHARSET="us-ascii"
-CONFIG_POPMAILDIR=y
-CONFIG_FEATURE_POPMAILDIR_DELIVERY=y
-CONFIG_REFORMIME=y
-CONFIG_FEATURE_REFORMIME_COMPAT=y
-# CONFIG_SENDMAIL is not set
-
-#
-# Process Utilities
-#
-CONFIG_FREE=y
-CONFIG_FUSER=y
-CONFIG_KILL=y
-CONFIG_KILLALL=y
-CONFIG_KILLALL5=y
-CONFIG_NMETER=y
-CONFIG_PGREP=y
-CONFIG_PIDOF=y
-CONFIG_FEATURE_PIDOF_SINGLE=y
-CONFIG_FEATURE_PIDOF_OMIT=y
-CONFIG_PKILL=y
-CONFIG_PS=y
-CONFIG_FEATURE_PS_WIDE=y
-CONFIG_FEATURE_PS_TIME=y
-CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS=y
-# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set
-CONFIG_RENICE=y
-CONFIG_BB_SYSCTL=y
-CONFIG_TOP=y
-CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
-CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
-CONFIG_FEATURE_TOP_SMP_CPU=y
-CONFIG_FEATURE_TOP_DECIMALS=y
-CONFIG_FEATURE_TOP_SMP_PROCESS=y
-CONFIG_FEATURE_TOPMEM=y
-CONFIG_UPTIME=y
-CONFIG_WATCH=y
-
-#
-# Runit Utilities
-#
-CONFIG_RUNSV=y
-CONFIG_RUNSVDIR=y
-CONFIG_FEATURE_RUNSVDIR_LOG=y
-CONFIG_SV=y
-CONFIG_SV_DEFAULT_SERVICE_DIR="/var/service"
-CONFIG_SVLOGD=y
-CONFIG_CHPST=y
-CONFIG_SETUIDGID=y
-CONFIG_ENVUIDGID=y
-CONFIG_ENVDIR=y
-CONFIG_SOFTLIMIT=y
-# CONFIG_CHCON is not set
-# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set
-# CONFIG_GETENFORCE is not set
-# CONFIG_GETSEBOOL is not set
-# CONFIG_LOAD_POLICY is not set
-# CONFIG_MATCHPATHCON is not set
-# CONFIG_RESTORECON is not set
-# CONFIG_RUNCON is not set
-# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set
-# CONFIG_SELINUXENABLED is not set
-# CONFIG_SETENFORCE is not set
-# CONFIG_SETFILES is not set
-# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set
-# CONFIG_SETSEBOOL is not set
-# CONFIG_SESTATUS is not set
-
-#
-# Shells
-#
-CONFIG_FEATURE_SH_IS_ASH=y
-# CONFIG_FEATURE_SH_IS_HUSH is not set
-# CONFIG_FEATURE_SH_IS_NONE is not set
-CONFIG_ASH=y
-CONFIG_ASH_BASH_COMPAT=y
-CONFIG_ASH_JOB_CONTROL=y
-CONFIG_ASH_READ_NCHARS=y
-CONFIG_ASH_READ_TIMEOUT=y
-CONFIG_ASH_ALIAS=y
-CONFIG_ASH_GETOPTS=y
-CONFIG_ASH_BUILTIN_ECHO=y
-CONFIG_ASH_BUILTIN_PRINTF=y
-CONFIG_ASH_BUILTIN_TEST=y
-CONFIG_ASH_CMDCMD=y
-CONFIG_ASH_MAIL=y
-CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
-CONFIG_ASH_RANDOM_SUPPORT=y
-CONFIG_ASH_EXPAND_PRMT=y
-# CONFIG_HUSH is not set
-# CONFIG_HUSH_BASH_COMPAT is not set
-# CONFIG_HUSH_HELP is not set
-# CONFIG_HUSH_INTERACTIVE is not set
-# CONFIG_HUSH_JOB is not set
-# CONFIG_HUSH_TICK is not set
-# CONFIG_HUSH_IF is not set
-# CONFIG_HUSH_LOOPS is not set
-# CONFIG_HUSH_CASE is not set
-# CONFIG_HUSH_FUNCTIONS is not set
-# CONFIG_HUSH_LOCAL is not set
-# CONFIG_HUSH_EXPORT_N is not set
-# CONFIG_LASH is not set
-# CONFIG_MSH is not set
-CONFIG_SH_MATH_SUPPORT=y
-CONFIG_SH_MATH_SUPPORT_64=y
-CONFIG_FEATURE_SH_EXTRA_QUIET=y
-# CONFIG_FEATURE_SH_STANDALONE is not set
-# CONFIG_FEATURE_SH_NOFORK is not set
-CONFIG_CTTYHACK=y
-
-#
-# System Logging Utilities
-#
-CONFIG_SYSLOGD=y
-CONFIG_FEATURE_ROTATE_LOGFILE=y
-CONFIG_FEATURE_REMOTE_LOG=y
-# CONFIG_FEATURE_SYSLOGD_DUP is not set
-CONFIG_FEATURE_IPC_SYSLOG=y
-CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
-CONFIG_LOGREAD=y
-CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y
-CONFIG_KLOGD=y
-CONFIG_LOGGER=y
diff --git a/source/a/mkinitrd/busybox-dot-config.1.17.x b/source/a/mkinitrd/busybox-dot-config.1.17.x
deleted file mode 100644
index 18cd5e6ee..000000000
--- a/source/a/mkinitrd/busybox-dot-config.1.17.x
+++ /dev/null
@@ -1,970 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Busybox version: 1.17.2
-# Sat Aug 28 23:13:46 2010
-#
-CONFIG_HAVE_DOT_CONFIG=y
-
-#
-# Busybox Settings
-#
-
-#
-# General Configuration
-#
-CONFIG_DESKTOP=y
-# CONFIG_EXTRA_COMPAT is not set
-CONFIG_INCLUDE_SUSv2=y
-# CONFIG_USE_PORTABLE_CODE is not set
-CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
-# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
-# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
-CONFIG_SHOW_USAGE=y
-CONFIG_FEATURE_VERBOSE_USAGE=y
-CONFIG_FEATURE_COMPRESS_USAGE=y
-CONFIG_FEATURE_INSTALLER=y
-CONFIG_LOCALE_SUPPORT=y
-CONFIG_UNICODE_SUPPORT=y
-# CONFIG_UNICODE_USING_LOCALE is not set
-# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set
-CONFIG_SUBST_WCHAR=63
-CONFIG_LAST_SUPPORTED_WCHAR=767
-# CONFIG_UNICODE_COMBINING_WCHARS is not set
-# CONFIG_UNICODE_WIDE_WCHARS is not set
-# CONFIG_UNICODE_BIDI_SUPPORT is not set
-# CONFIG_UNICODE_NEUTRAL_TABLE is not set
-# CONFIG_UNICODE_PRESERVE_BROKEN is not set
-CONFIG_LONG_OPTS=y
-CONFIG_FEATURE_DEVPTS=y
-# CONFIG_FEATURE_CLEAN_UP is not set
-CONFIG_FEATURE_UTMP=y
-CONFIG_FEATURE_WTMP=y
-CONFIG_FEATURE_PIDFILE=y
-CONFIG_FEATURE_SUID=y
-CONFIG_FEATURE_SUID_CONFIG=y
-CONFIG_FEATURE_SUID_CONFIG_QUIET=y
-# CONFIG_SELINUX is not set
-# CONFIG_FEATURE_PREFER_APPLETS is not set
-CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
-CONFIG_FEATURE_SYSLOG=y
-CONFIG_FEATURE_HAVE_RPC=y
-
-#
-# Build Options
-#
-# CONFIG_STATIC is not set
-# CONFIG_PIE is not set
-# CONFIG_NOMMU is not set
-# CONFIG_BUILD_LIBBUSYBOX is not set
-# CONFIG_FEATURE_INDIVIDUAL is not set
-# CONFIG_FEATURE_SHARED_BUSYBOX is not set
-CONFIG_LFS=y
-CONFIG_CROSS_COMPILER_PREFIX=""
-CONFIG_EXTRA_CFLAGS=""
-
-#
-# Debugging Options
-#
-# CONFIG_DEBUG is not set
-# CONFIG_DEBUG_PESSIMIZE is not set
-# CONFIG_WERROR is not set
-CONFIG_NO_DEBUG_LIB=y
-# CONFIG_DMALLOC is not set
-# CONFIG_EFENCE is not set
-
-#
-# Installation Options
-#
-CONFIG_INSTALL_NO_USR=y
-CONFIG_INSTALL_APPLET_SYMLINKS=y
-# CONFIG_INSTALL_APPLET_HARDLINKS is not set
-# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set
-# CONFIG_INSTALL_APPLET_DONT is not set
-# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set
-# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set
-# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set
-CONFIG_PREFIX="/tmp/package-mkinitrd/usr/share/mkinitrd/initrd-tree"
-
-#
-# Busybox Library Tuning
-#
-CONFIG_PASSWORD_MINLEN=6
-CONFIG_MD5_SIZE_VS_SPEED=2
-# CONFIG_FEATURE_FAST_TOP is not set
-# CONFIG_FEATURE_ETC_NETWORKS is not set
-CONFIG_FEATURE_EDITING=y
-CONFIG_FEATURE_EDITING_MAX_LEN=1024
-CONFIG_FEATURE_EDITING_VI=y
-CONFIG_FEATURE_EDITING_HISTORY=64
-# CONFIG_FEATURE_EDITING_SAVEHISTORY is not set
-CONFIG_FEATURE_TAB_COMPLETION=y
-# CONFIG_FEATURE_USERNAME_COMPLETION is not set
-CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
-CONFIG_FEATURE_EDITING_ASK_TERMINAL=y
-# CONFIG_FEATURE_NON_POSIX_CP is not set
-CONFIG_FEATURE_VERBOSE_CP_MESSAGE=y
-CONFIG_FEATURE_COPYBUF_KB=4
-CONFIG_MONOTONIC_SYSCALL=y
-CONFIG_IOCTL_HEX2STR_ERROR=y
-# CONFIG_FEATURE_HWIB is not set
-
-#
-# Applets
-#
-
-#
-# Archival Utilities
-#
-CONFIG_FEATURE_SEAMLESS_XZ=y
-# CONFIG_FEATURE_SEAMLESS_LZMA is not set
-CONFIG_FEATURE_SEAMLESS_BZ2=y
-CONFIG_FEATURE_SEAMLESS_GZ=y
-CONFIG_FEATURE_SEAMLESS_Z=y
-CONFIG_AR=y
-CONFIG_FEATURE_AR_LONG_FILENAMES=y
-# CONFIG_FEATURE_AR_CREATE is not set
-CONFIG_BUNZIP2=y
-CONFIG_BZIP2=y
-CONFIG_CPIO=y
-CONFIG_FEATURE_CPIO_O=y
-CONFIG_FEATURE_CPIO_P=y
-# CONFIG_DPKG is not set
-# CONFIG_DPKG_DEB is not set
-# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
-CONFIG_GUNZIP=y
-CONFIG_GZIP=y
-CONFIG_FEATURE_GZIP_LONG_OPTIONS=y
-CONFIG_LZOP=y
-CONFIG_LZOP_COMPR_HIGH=y
-CONFIG_RPM2CPIO=y
-# CONFIG_RPM is not set
-CONFIG_TAR=y
-CONFIG_FEATURE_TAR_CREATE=y
-CONFIG_FEATURE_TAR_AUTODETECT=y
-CONFIG_FEATURE_TAR_FROM=y
-CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y
-# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set
-CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
-CONFIG_FEATURE_TAR_LONG_OPTIONS=y
-# CONFIG_FEATURE_TAR_TO_COMMAND is not set
-CONFIG_FEATURE_TAR_UNAME_GNAME=y
-CONFIG_FEATURE_TAR_NOPRESERVE_TIME=y
-# CONFIG_FEATURE_TAR_SELINUX is not set
-CONFIG_UNCOMPRESS=y
-CONFIG_UNLZMA=y
-CONFIG_FEATURE_LZMA_FAST=y
-CONFIG_LZMA=y
-CONFIG_UNXZ=y
-CONFIG_XZ=y
-CONFIG_UNZIP=y
-
-#
-# Coreutils
-#
-CONFIG_BASENAME=y
-CONFIG_CAT=y
-CONFIG_DATE=y
-CONFIG_FEATURE_DATE_ISOFMT=y
-# CONFIG_FEATURE_DATE_NANO is not set
-# CONFIG_FEATURE_DATE_COMPAT is not set
-CONFIG_TEST=y
-CONFIG_FEATURE_TEST_64=y
-CONFIG_TR=y
-CONFIG_FEATURE_TR_CLASSES=y
-CONFIG_FEATURE_TR_EQUIV=y
-CONFIG_CAL=y
-CONFIG_CATV=y
-CONFIG_CHGRP=y
-CONFIG_CHMOD=y
-CONFIG_CHOWN=y
-# CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set
-CONFIG_CHROOT=y
-CONFIG_CKSUM=y
-CONFIG_COMM=y
-CONFIG_CP=y
-CONFIG_FEATURE_CP_LONG_OPTIONS=y
-CONFIG_CUT=y
-CONFIG_DD=y
-CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
-# CONFIG_FEATURE_DD_THIRD_STATUS_LINE is not set
-CONFIG_FEATURE_DD_IBS_OBS=y
-CONFIG_DF=y
-CONFIG_FEATURE_DF_FANCY=y
-CONFIG_DIRNAME=y
-CONFIG_DOS2UNIX=y
-CONFIG_UNIX2DOS=y
-CONFIG_DU=y
-CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
-CONFIG_ECHO=y
-CONFIG_FEATURE_FANCY_ECHO=y
-CONFIG_ENV=y
-CONFIG_FEATURE_ENV_LONG_OPTIONS=y
-CONFIG_EXPAND=y
-CONFIG_FEATURE_EXPAND_LONG_OPTIONS=y
-CONFIG_EXPR=y
-CONFIG_EXPR_MATH_SUPPORT_64=y
-CONFIG_FALSE=y
-CONFIG_FOLD=y
-CONFIG_FSYNC=y
-CONFIG_HEAD=y
-CONFIG_FEATURE_FANCY_HEAD=y
-CONFIG_HOSTID=y
-CONFIG_ID=y
-CONFIG_INSTALL=y
-CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y
-CONFIG_LENGTH=y
-CONFIG_LN=y
-CONFIG_LOGNAME=y
-CONFIG_LS=y
-CONFIG_FEATURE_LS_FILETYPES=y
-CONFIG_FEATURE_LS_FOLLOWLINKS=y
-CONFIG_FEATURE_LS_RECURSIVE=y
-CONFIG_FEATURE_LS_SORTFILES=y
-CONFIG_FEATURE_LS_TIMESTAMPS=y
-CONFIG_FEATURE_LS_USERNAME=y
-CONFIG_FEATURE_LS_COLOR=y
-CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y
-CONFIG_MD5SUM=y
-CONFIG_MKDIR=y
-CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y
-CONFIG_MKFIFO=y
-CONFIG_MKNOD=y
-CONFIG_MV=y
-CONFIG_FEATURE_MV_LONG_OPTIONS=y
-CONFIG_NICE=y
-CONFIG_NOHUP=y
-CONFIG_OD=y
-CONFIG_PRINTENV=y
-CONFIG_PRINTF=y
-CONFIG_PWD=y
-CONFIG_READLINK=y
-CONFIG_FEATURE_READLINK_FOLLOW=y
-CONFIG_REALPATH=y
-CONFIG_RM=y
-CONFIG_RMDIR=y
-# CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set
-CONFIG_SEQ=y
-CONFIG_SHA1SUM=y
-CONFIG_SHA256SUM=y
-CONFIG_SHA512SUM=y
-CONFIG_SLEEP=y
-CONFIG_FEATURE_FANCY_SLEEP=y
-# CONFIG_FEATURE_FLOAT_SLEEP is not set
-CONFIG_SORT=y
-CONFIG_FEATURE_SORT_BIG=y
-CONFIG_SPLIT=y
-CONFIG_FEATURE_SPLIT_FANCY=y
-CONFIG_STAT=y
-CONFIG_FEATURE_STAT_FORMAT=y
-CONFIG_STTY=y
-CONFIG_SUM=y
-CONFIG_SYNC=y
-CONFIG_TAC=y
-CONFIG_TAIL=y
-CONFIG_FEATURE_FANCY_TAIL=y
-CONFIG_TEE=y
-CONFIG_FEATURE_TEE_USE_BLOCK_IO=y
-CONFIG_TOUCH=y
-CONFIG_TRUE=y
-CONFIG_TTY=y
-CONFIG_UNAME=y
-CONFIG_UNEXPAND=y
-CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS=y
-CONFIG_UNIQ=y
-CONFIG_USLEEP=y
-CONFIG_UUDECODE=y
-CONFIG_UUENCODE=y
-CONFIG_WC=y
-CONFIG_FEATURE_WC_LARGE=y
-CONFIG_WHO=y
-CONFIG_WHOAMI=y
-CONFIG_YES=y
-
-#
-# Common options for cp and mv
-#
-CONFIG_FEATURE_PRESERVE_HARDLINKS=y
-
-#
-# Common options for ls, more and telnet
-#
-CONFIG_FEATURE_AUTOWIDTH=y
-
-#
-# Common options for df, du, ls
-#
-CONFIG_FEATURE_HUMAN_READABLE=y
-
-#
-# Common options for md5sum, sha1sum, sha256sum, sha512sum
-#
-CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
-
-#
-# Console Utilities
-#
-CONFIG_CHVT=y
-CONFIG_FGCONSOLE=y
-CONFIG_CLEAR=y
-CONFIG_DEALLOCVT=y
-CONFIG_DUMPKMAP=y
-CONFIG_KBD_MODE=y
-CONFIG_LOADFONT=y
-CONFIG_LOADKMAP=y
-CONFIG_OPENVT=y
-CONFIG_RESET=y
-CONFIG_RESIZE=y
-CONFIG_FEATURE_RESIZE_PRINT=y
-CONFIG_SETCONSOLE=y
-CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS=y
-CONFIG_SETFONT=y
-CONFIG_FEATURE_SETFONT_TEXTUAL_MAP=y
-CONFIG_DEFAULT_SETFONT_DIR="/usr/share/kbd/consolefonts"
-CONFIG_SETKEYCODES=y
-CONFIG_SETLOGCONS=y
-CONFIG_SHOWKEY=y
-
-#
-# Common options for loadfont and setfont
-#
-# CONFIG_FEATURE_LOADFONT_PSF2 is not set
-CONFIG_FEATURE_LOADFONT_RAW=y
-
-#
-# Debian Utilities
-#
-CONFIG_MKTEMP=y
-CONFIG_PIPE_PROGRESS=y
-CONFIG_RUN_PARTS=y
-CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y
-CONFIG_FEATURE_RUN_PARTS_FANCY=y
-CONFIG_START_STOP_DAEMON=y
-CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y
-CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y
-CONFIG_WHICH=y
-
-#
-# Editors
-#
-CONFIG_AWK=y
-CONFIG_FEATURE_AWK_LIBM=y
-CONFIG_CMP=y
-CONFIG_DIFF=y
-# CONFIG_FEATURE_DIFF_LONG_OPTIONS is not set
-CONFIG_FEATURE_DIFF_DIR=y
-CONFIG_ED=y
-CONFIG_PATCH=y
-CONFIG_SED=y
-CONFIG_VI=y
-CONFIG_FEATURE_VI_MAX_LEN=1024
-CONFIG_FEATURE_VI_8BIT=y
-CONFIG_FEATURE_VI_COLON=y
-CONFIG_FEATURE_VI_YANKMARK=y
-CONFIG_FEATURE_VI_SEARCH=y
-CONFIG_FEATURE_VI_USE_SIGNALS=y
-CONFIG_FEATURE_VI_DOT_CMD=y
-CONFIG_FEATURE_VI_READONLY=y
-CONFIG_FEATURE_VI_SETOPTS=y
-CONFIG_FEATURE_VI_SET=y
-CONFIG_FEATURE_VI_WIN_RESIZE=y
-CONFIG_FEATURE_VI_ASK_TERMINAL=y
-CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
-CONFIG_FEATURE_ALLOW_EXEC=y
-
-#
-# Finding Utilities
-#
-CONFIG_FIND=y
-CONFIG_FEATURE_FIND_PRINT0=y
-CONFIG_FEATURE_FIND_MTIME=y
-CONFIG_FEATURE_FIND_MMIN=y
-CONFIG_FEATURE_FIND_PERM=y
-CONFIG_FEATURE_FIND_TYPE=y
-CONFIG_FEATURE_FIND_XDEV=y
-CONFIG_FEATURE_FIND_MAXDEPTH=y
-CONFIG_FEATURE_FIND_NEWER=y
-CONFIG_FEATURE_FIND_INUM=y
-CONFIG_FEATURE_FIND_EXEC=y
-CONFIG_FEATURE_FIND_USER=y
-CONFIG_FEATURE_FIND_GROUP=y
-CONFIG_FEATURE_FIND_NOT=y
-CONFIG_FEATURE_FIND_DEPTH=y
-CONFIG_FEATURE_FIND_PAREN=y
-CONFIG_FEATURE_FIND_SIZE=y
-CONFIG_FEATURE_FIND_PRUNE=y
-# CONFIG_FEATURE_FIND_DELETE is not set
-CONFIG_FEATURE_FIND_PATH=y
-CONFIG_FEATURE_FIND_REGEX=y
-# CONFIG_FEATURE_FIND_CONTEXT is not set
-CONFIG_FEATURE_FIND_LINKS=y
-CONFIG_GREP=y
-CONFIG_FEATURE_GREP_EGREP_ALIAS=y
-CONFIG_FEATURE_GREP_FGREP_ALIAS=y
-CONFIG_FEATURE_GREP_CONTEXT=y
-CONFIG_XARGS=y
-CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y
-CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y
-CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y
-CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
-
-#
-# Init Utilities
-#
-# CONFIG_BOOTCHARTD is not set
-# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set
-# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set
-CONFIG_INIT=y
-CONFIG_FEATURE_USE_INITTAB=y
-CONFIG_FEATURE_KILL_REMOVED=y
-CONFIG_FEATURE_KILL_DELAY=10
-CONFIG_FEATURE_INIT_SCTTY=y
-CONFIG_FEATURE_INIT_SYSLOG=y
-CONFIG_FEATURE_EXTRA_QUIET=y
-# CONFIG_FEATURE_INIT_COREDUMPS is not set
-# CONFIG_FEATURE_INITRD is not set
-CONFIG_HALT=y
-# CONFIG_FEATURE_CALL_TELINIT is not set
-CONFIG_TELINIT_PATH=""
-CONFIG_MESG=y
-
-#
-# Login/Password Management Utilities
-#
-CONFIG_FEATURE_SHADOWPASSWDS=y
-# CONFIG_USE_BB_PWD_GRP is not set
-# CONFIG_USE_BB_SHADOW is not set
-CONFIG_USE_BB_CRYPT=y
-CONFIG_USE_BB_CRYPT_SHA=y
-CONFIG_ADDGROUP=y
-CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS=y
-CONFIG_FEATURE_ADDUSER_TO_GROUP=y
-CONFIG_DELGROUP=y
-CONFIG_FEATURE_DEL_USER_FROM_GROUP=y
-CONFIG_FEATURE_CHECK_NAMES=y
-CONFIG_ADDUSER=y
-# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set
-CONFIG_FIRST_SYSTEM_ID=1000
-CONFIG_LAST_SYSTEM_ID=12000
-CONFIG_DELUSER=y
-CONFIG_GETTY=y
-CONFIG_LOGIN=y
-# CONFIG_PAM is not set
-CONFIG_LOGIN_SCRIPTS=y
-CONFIG_FEATURE_NOLOGIN=y
-# CONFIG_FEATURE_SECURETTY is not set
-CONFIG_PASSWD=y
-CONFIG_FEATURE_PASSWD_WEAK_CHECK=y
-CONFIG_CRYPTPW=y
-CONFIG_CHPASSWD=y
-CONFIG_SU=y
-CONFIG_FEATURE_SU_SYSLOG=y
-CONFIG_FEATURE_SU_CHECKS_SHELLS=y
-CONFIG_SULOGIN=y
-CONFIG_VLOCK=y
-
-#
-# Linux Ext2 FS Progs
-#
-CONFIG_CHATTR=y
-CONFIG_FSCK=y
-CONFIG_LSATTR=y
-CONFIG_TUNE2FS=y
-
-#
-# Linux Module Utilities
-#
-CONFIG_MODINFO=y
-# CONFIG_MODPROBE_SMALL is not set
-# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set
-# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set
-CONFIG_INSMOD=y
-CONFIG_RMMOD=y
-CONFIG_LSMOD=y
-CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y
-CONFIG_MODPROBE=y
-CONFIG_FEATURE_MODPROBE_BLACKLIST=y
-CONFIG_DEPMOD=y
-
-#
-# Options common to multiple modutils
-#
-CONFIG_FEATURE_2_4_MODULES=y
-# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set
-# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
-CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS=y
-# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
-# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
-# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
-CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
-CONFIG_FEATURE_MODUTILS_ALIAS=y
-CONFIG_FEATURE_MODUTILS_SYMBOLS=y
-CONFIG_DEFAULT_MODULES_DIR="/lib/modules"
-CONFIG_DEFAULT_DEPMOD_FILE="modules.dep"
-
-#
-# Linux System Utilities
-#
-CONFIG_REV=y
-CONFIG_ACPID=y
-CONFIG_FEATURE_ACPID_COMPAT=y
-CONFIG_BLKID=y
-CONFIG_DMESG=y
-CONFIG_FEATURE_DMESG_PRETTY=y
-CONFIG_FBSET=y
-CONFIG_FEATURE_FBSET_FANCY=y
-CONFIG_FEATURE_FBSET_READMODE=y
-CONFIG_FDFLUSH=y
-CONFIG_FDFORMAT=y
-CONFIG_FDISK=y
-CONFIG_FDISK_SUPPORT_LARGE_DISKS=y
-CONFIG_FEATURE_FDISK_WRITABLE=y
-# CONFIG_FEATURE_AIX_LABEL is not set
-# CONFIG_FEATURE_SGI_LABEL is not set
-# CONFIG_FEATURE_SUN_LABEL is not set
-CONFIG_FEATURE_OSF_LABEL=y
-CONFIG_FEATURE_FDISK_ADVANCED=y
-CONFIG_FINDFS=y
-# CONFIG_FLOCK is not set
-CONFIG_FREERAMDISK=y
-CONFIG_FSCK_MINIX=y
-# CONFIG_MKFS_EXT2 is not set
-CONFIG_MKFS_MINIX=y
-CONFIG_FEATURE_MINIX2=y
-# CONFIG_MKFS_REISER is not set
-CONFIG_MKFS_VFAT=y
-CONFIG_GETOPT=y
-CONFIG_FEATURE_GETOPT_LONG=y
-CONFIG_HEXDUMP=y
-CONFIG_FEATURE_HEXDUMP_REVERSE=y
-CONFIG_HD=y
-CONFIG_HWCLOCK=y
-CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y
-CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y
-CONFIG_IPCRM=y
-CONFIG_IPCS=y
-CONFIG_LOSETUP=y
-CONFIG_LSPCI=y
-CONFIG_LSUSB=y
-CONFIG_MDEV=y
-CONFIG_FEATURE_MDEV_CONF=y
-CONFIG_FEATURE_MDEV_RENAME=y
-CONFIG_FEATURE_MDEV_RENAME_REGEXP=y
-CONFIG_FEATURE_MDEV_EXEC=y
-CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y
-CONFIG_MKSWAP=y
-CONFIG_FEATURE_MKSWAP_UUID=y
-CONFIG_MORE=y
-CONFIG_FEATURE_USE_TERMIOS=y
-CONFIG_MOUNT=y
-CONFIG_FEATURE_MOUNT_FAKE=y
-# CONFIG_FEATURE_MOUNT_VERBOSE is not set
-CONFIG_FEATURE_MOUNT_HELPERS=y
-CONFIG_FEATURE_MOUNT_LABEL=y
-CONFIG_FEATURE_MOUNT_NFS=y
-CONFIG_FEATURE_MOUNT_CIFS=y
-CONFIG_FEATURE_MOUNT_FLAGS=y
-CONFIG_FEATURE_MOUNT_FSTAB=y
-CONFIG_PIVOT_ROOT=y
-CONFIG_RDATE=y
-CONFIG_RDEV=y
-CONFIG_READPROFILE=y
-CONFIG_RTCWAKE=y
-CONFIG_SCRIPT=y
-CONFIG_SCRIPTREPLAY=y
-CONFIG_SETARCH=y
-CONFIG_SWAPONOFF=y
-CONFIG_FEATURE_SWAPON_PRI=y
-CONFIG_SWITCH_ROOT=y
-CONFIG_UMOUNT=y
-CONFIG_FEATURE_UMOUNT_ALL=y
-
-#
-# Common options for mount/umount
-#
-CONFIG_FEATURE_MOUNT_LOOP=y
-CONFIG_FEATURE_MOUNT_LOOP_CREATE=y
-CONFIG_FEATURE_MTAB_SUPPORT=y
-CONFIG_VOLUMEID=y
-
-#
-# Filesystem/Volume identification
-#
-CONFIG_FEATURE_VOLUMEID_EXT=y
-# CONFIG_FEATURE_VOLUMEID_BTRFS is not set
-CONFIG_FEATURE_VOLUMEID_REISERFS=y
-CONFIG_FEATURE_VOLUMEID_FAT=y
-CONFIG_FEATURE_VOLUMEID_HFS=y
-CONFIG_FEATURE_VOLUMEID_JFS=y
-CONFIG_FEATURE_VOLUMEID_XFS=y
-CONFIG_FEATURE_VOLUMEID_NTFS=y
-CONFIG_FEATURE_VOLUMEID_ISO9660=y
-CONFIG_FEATURE_VOLUMEID_UDF=y
-CONFIG_FEATURE_VOLUMEID_LUKS=y
-CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y
-CONFIG_FEATURE_VOLUMEID_CRAMFS=y
-CONFIG_FEATURE_VOLUMEID_ROMFS=y
-CONFIG_FEATURE_VOLUMEID_SYSV=y
-# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set
-CONFIG_FEATURE_VOLUMEID_LINUXRAID=y
-
-#
-# Miscellaneous Utilities
-#
-# CONFIG_CONSPY is not set
-# CONFIG_UBIATTACH is not set
-# CONFIG_UBIDETACH is not set
-CONFIG_ADJTIMEX=y
-CONFIG_BBCONFIG=y
-CONFIG_BEEP=y
-CONFIG_FEATURE_BEEP_FREQ=4000
-CONFIG_FEATURE_BEEP_LENGTH_MS=30
-CONFIG_CHAT=y
-CONFIG_FEATURE_CHAT_NOFAIL=y
-# CONFIG_FEATURE_CHAT_TTY_HIFI is not set
-CONFIG_FEATURE_CHAT_IMPLICIT_CR=y
-# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set
-# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set
-# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set
-# CONFIG_FEATURE_CHAT_CLR_ABORT is not set
-CONFIG_CHRT=y
-CONFIG_CROND=y
-CONFIG_FEATURE_CROND_D=y
-# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
-CONFIG_FEATURE_CROND_DIR="/var/spool/cron"
-CONFIG_CRONTAB=y
-CONFIG_DC=y
-CONFIG_FEATURE_DC_LIBM=y
-# CONFIG_DEVFSD is not set
-# CONFIG_DEVFSD_MODLOAD is not set
-# CONFIG_DEVFSD_FG_NP is not set
-# CONFIG_DEVFSD_VERBOSE is not set
-# CONFIG_FEATURE_DEVFS is not set
-CONFIG_DEVMEM=y
-CONFIG_EJECT=y
-CONFIG_FEATURE_EJECT_SCSI=y
-CONFIG_FBSPLASH=y
-# CONFIG_FLASHCP is not set
-CONFIG_FLASH_LOCK=y
-CONFIG_FLASH_UNLOCK=y
-CONFIG_FLASH_ERASEALL=y
-CONFIG_IONICE=y
-CONFIG_INOTIFYD=y
-CONFIG_LAST=y
-CONFIG_FEATURE_LAST_SMALL=y
-# CONFIG_FEATURE_LAST_FANCY is not set
-CONFIG_LESS=y
-CONFIG_FEATURE_LESS_MAXLINES=9999999
-CONFIG_FEATURE_LESS_BRACKETS=y
-CONFIG_FEATURE_LESS_FLAGS=y
-CONFIG_FEATURE_LESS_MARKS=y
-CONFIG_FEATURE_LESS_REGEXP=y
-CONFIG_FEATURE_LESS_WINCH=y
-CONFIG_FEATURE_LESS_DASHCMD=y
-CONFIG_FEATURE_LESS_LINENUMS=y
-CONFIG_HDPARM=y
-CONFIG_FEATURE_HDPARM_GET_IDENTITY=y
-CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF=y
-CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF=y
-CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET=y
-CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF=y
-CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y
-CONFIG_MAKEDEVS=y
-# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
-CONFIG_FEATURE_MAKEDEVS_TABLE=y
-# CONFIG_MAN is not set
-# CONFIG_MICROCOM is not set
-CONFIG_MOUNTPOINT=y
-CONFIG_MT=y
-CONFIG_RAIDAUTORUN=y
-CONFIG_READAHEAD=y
-# CONFIG_RFKILL is not set
-CONFIG_RUNLEVEL=y
-CONFIG_RX=y
-CONFIG_SETSID=y
-CONFIG_STRINGS=y
-CONFIG_TASKSET=y
-CONFIG_FEATURE_TASKSET_FANCY=y
-CONFIG_TIME=y
-CONFIG_TIMEOUT=y
-CONFIG_TTYSIZE=y
-CONFIG_VOLNAME=y
-# CONFIG_WALL is not set
-CONFIG_WATCHDOG=y
-
-#
-# Networking Utilities
-#
-CONFIG_NC=y
-CONFIG_NC_SERVER=y
-CONFIG_NC_EXTRA=y
-# CONFIG_NC_110_COMPAT is not set
-CONFIG_FEATURE_IPV6=y
-CONFIG_FEATURE_UNIX_LOCAL=y
-CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y
-# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set
-CONFIG_ARP=y
-CONFIG_ARPING=y
-CONFIG_BRCTL=y
-# CONFIG_FEATURE_BRCTL_FANCY is not set
-# CONFIG_FEATURE_BRCTL_SHOW is not set
-CONFIG_DNSD=y
-CONFIG_ETHER_WAKE=y
-CONFIG_FAKEIDENTD=y
-CONFIG_FTPD=y
-CONFIG_FEATURE_FTP_WRITE=y
-CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST=y
-CONFIG_FTPGET=y
-CONFIG_FTPPUT=y
-CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y
-CONFIG_HOSTNAME=y
-# CONFIG_HTTPD is not set
-# CONFIG_FEATURE_HTTPD_RANGES is not set
-# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set
-# CONFIG_FEATURE_HTTPD_SETUID is not set
-# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set
-# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set
-# CONFIG_FEATURE_HTTPD_CGI is not set
-# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set
-# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set
-# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set
-# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set
-# CONFIG_FEATURE_HTTPD_PROXY is not set
-CONFIG_IFCONFIG=y
-CONFIG_FEATURE_IFCONFIG_STATUS=y
-CONFIG_FEATURE_IFCONFIG_SLIP=y
-CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y
-CONFIG_FEATURE_IFCONFIG_HW=y
-CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
-CONFIG_IFENSLAVE=y
-CONFIG_IFPLUGD=y
-CONFIG_IFUPDOWN=y
-CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate"
-CONFIG_FEATURE_IFUPDOWN_IP=y
-CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y
-# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set
-CONFIG_FEATURE_IFUPDOWN_IPV4=y
-CONFIG_FEATURE_IFUPDOWN_IPV6=y
-CONFIG_FEATURE_IFUPDOWN_MAPPING=y
-CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP=y
-# CONFIG_INETD is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set
-# CONFIG_FEATURE_INETD_RPC is not set
-CONFIG_IP=y
-CONFIG_FEATURE_IP_ADDRESS=y
-CONFIG_FEATURE_IP_LINK=y
-CONFIG_FEATURE_IP_ROUTE=y
-CONFIG_FEATURE_IP_TUNNEL=y
-CONFIG_FEATURE_IP_RULE=y
-CONFIG_FEATURE_IP_SHORT_FORMS=y
-# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set
-CONFIG_IPADDR=y
-CONFIG_IPLINK=y
-CONFIG_IPROUTE=y
-CONFIG_IPTUNNEL=y
-CONFIG_IPRULE=y
-CONFIG_IPCALC=y
-CONFIG_FEATURE_IPCALC_FANCY=y
-CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y
-CONFIG_NAMEIF=y
-# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
-CONFIG_NETSTAT=y
-# CONFIG_FEATURE_NETSTAT_WIDE is not set
-CONFIG_FEATURE_NETSTAT_PRG=y
-CONFIG_NSLOOKUP=y
-# CONFIG_NTPD is not set
-# CONFIG_FEATURE_NTPD_SERVER is not set
-CONFIG_PING=y
-CONFIG_PING6=y
-CONFIG_FEATURE_FANCY_PING=y
-CONFIG_PSCAN=y
-CONFIG_ROUTE=y
-CONFIG_SLATTACH=y
-CONFIG_TCPSVD=y
-CONFIG_TELNET=y
-CONFIG_FEATURE_TELNET_TTYPE=y
-CONFIG_FEATURE_TELNET_AUTOLOGIN=y
-CONFIG_TELNETD=y
-CONFIG_FEATURE_TELNETD_STANDALONE=y
-# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set
-CONFIG_TFTP=y
-# CONFIG_TFTPD is not set
-
-#
-# Common options for tftp/tftpd
-#
-CONFIG_FEATURE_TFTP_GET=y
-CONFIG_FEATURE_TFTP_PUT=y
-CONFIG_FEATURE_TFTP_BLOCKSIZE=y
-CONFIG_FEATURE_TFTP_PROGRESS_BAR=y
-CONFIG_TFTP_DEBUG=y
-CONFIG_TRACEROUTE=y
-CONFIG_TRACEROUTE6=y
-# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
-# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set
-# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
-CONFIG_TUNCTL=y
-CONFIG_FEATURE_TUNCTL_UG=y
-# CONFIG_UDHCPD is not set
-# CONFIG_DHCPRELAY is not set
-# CONFIG_DUMPLEASES is not set
-# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
-CONFIG_DHCPD_LEASES_FILE=""
-# CONFIG_UDHCPC is not set
-# CONFIG_FEATURE_UDHCPC_ARPING is not set
-# CONFIG_FEATURE_UDHCP_PORT is not set
-CONFIG_UDHCP_DEBUG=0
-# CONFIG_FEATURE_UDHCP_RFC3397 is not set
-CONFIG_UDHCPC_DEFAULT_SCRIPT=""
-CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=0
-CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS=""
-CONFIG_UDPSVD=y
-CONFIG_VCONFIG=y
-CONFIG_WGET=y
-CONFIG_FEATURE_WGET_STATUSBAR=y
-CONFIG_FEATURE_WGET_AUTHENTICATION=y
-CONFIG_FEATURE_WGET_LONG_OPTIONS=y
-CONFIG_ZCIP=y
-
-#
-# Print Utilities
-#
-# CONFIG_LPD is not set
-CONFIG_LPR=y
-# CONFIG_LPQ is not set
-
-#
-# Mail Utilities
-#
-CONFIG_MAKEMIME=y
-CONFIG_FEATURE_MIME_CHARSET="us-ascii"
-CONFIG_POPMAILDIR=y
-CONFIG_FEATURE_POPMAILDIR_DELIVERY=y
-CONFIG_REFORMIME=y
-CONFIG_FEATURE_REFORMIME_COMPAT=y
-# CONFIG_SENDMAIL is not set
-
-#
-# Process Utilities
-#
-# CONFIG_SMEMCAP is not set
-CONFIG_FREE=y
-CONFIG_FUSER=y
-CONFIG_KILL=y
-CONFIG_KILLALL=y
-CONFIG_KILLALL5=y
-CONFIG_NMETER=y
-CONFIG_PGREP=y
-CONFIG_PIDOF=y
-CONFIG_FEATURE_PIDOF_SINGLE=y
-CONFIG_FEATURE_PIDOF_OMIT=y
-CONFIG_PKILL=y
-CONFIG_PS=y
-CONFIG_FEATURE_PS_WIDE=y
-CONFIG_FEATURE_PS_TIME=y
-CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS=y
-# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set
-CONFIG_RENICE=y
-CONFIG_BB_SYSCTL=y
-CONFIG_TOP=y
-CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
-CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
-CONFIG_FEATURE_TOP_SMP_CPU=y
-CONFIG_FEATURE_TOP_DECIMALS=y
-CONFIG_FEATURE_TOP_SMP_PROCESS=y
-CONFIG_FEATURE_TOPMEM=y
-CONFIG_FEATURE_SHOW_THREADS=y
-CONFIG_UPTIME=y
-CONFIG_WATCH=y
-
-#
-# Runit Utilities
-#
-CONFIG_RUNSV=y
-CONFIG_RUNSVDIR=y
-CONFIG_FEATURE_RUNSVDIR_LOG=y
-CONFIG_SV=y
-CONFIG_SV_DEFAULT_SERVICE_DIR="/var/service"
-CONFIG_SVLOGD=y
-CONFIG_CHPST=y
-CONFIG_SETUIDGID=y
-CONFIG_ENVUIDGID=y
-CONFIG_ENVDIR=y
-CONFIG_SOFTLIMIT=y
-# CONFIG_CHCON is not set
-# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set
-# CONFIG_GETENFORCE is not set
-# CONFIG_GETSEBOOL is not set
-# CONFIG_LOAD_POLICY is not set
-# CONFIG_MATCHPATHCON is not set
-# CONFIG_RESTORECON is not set
-# CONFIG_RUNCON is not set
-# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set
-# CONFIG_SELINUXENABLED is not set
-# CONFIG_SETENFORCE is not set
-# CONFIG_SETFILES is not set
-# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set
-# CONFIG_SETSEBOOL is not set
-# CONFIG_SESTATUS is not set
-
-#
-# Shells
-#
-CONFIG_ASH=y
-CONFIG_ASH_BASH_COMPAT=y
-CONFIG_ASH_JOB_CONTROL=y
-CONFIG_ASH_ALIAS=y
-CONFIG_ASH_GETOPTS=y
-CONFIG_ASH_BUILTIN_ECHO=y
-CONFIG_ASH_BUILTIN_PRINTF=y
-CONFIG_ASH_BUILTIN_TEST=y
-CONFIG_ASH_CMDCMD=y
-CONFIG_ASH_MAIL=y
-CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
-CONFIG_ASH_RANDOM_SUPPORT=y
-CONFIG_ASH_EXPAND_PRMT=y
-# CONFIG_HUSH is not set
-# CONFIG_HUSH_BASH_COMPAT is not set
-# CONFIG_HUSH_HELP is not set
-# CONFIG_HUSH_INTERACTIVE is not set
-# CONFIG_HUSH_JOB is not set
-# CONFIG_HUSH_TICK is not set
-# CONFIG_HUSH_IF is not set
-# CONFIG_HUSH_LOOPS is not set
-# CONFIG_HUSH_CASE is not set
-# CONFIG_HUSH_FUNCTIONS is not set
-# CONFIG_HUSH_LOCAL is not set
-# CONFIG_HUSH_EXPORT_N is not set
-# CONFIG_HUSH_RANDOM_SUPPORT is not set
-CONFIG_FEATURE_SH_IS_ASH=y
-# CONFIG_FEATURE_SH_IS_HUSH is not set
-# CONFIG_FEATURE_SH_IS_NONE is not set
-# CONFIG_FEATURE_BASH_IS_ASH is not set
-# CONFIG_FEATURE_BASH_IS_HUSH is not set
-CONFIG_FEATURE_BASH_IS_NONE=y
-# CONFIG_LASH is not set
-# CONFIG_MSH is not set
-CONFIG_SH_MATH_SUPPORT=y
-CONFIG_SH_MATH_SUPPORT_64=y
-CONFIG_FEATURE_SH_EXTRA_QUIET=y
-# CONFIG_FEATURE_SH_STANDALONE is not set
-# CONFIG_FEATURE_SH_NOFORK is not set
-CONFIG_CTTYHACK=y
-
-#
-# System Logging Utilities
-#
-CONFIG_SYSLOGD=y
-CONFIG_FEATURE_ROTATE_LOGFILE=y
-CONFIG_FEATURE_REMOTE_LOG=y
-# CONFIG_FEATURE_SYSLOGD_DUP is not set
-CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256
-CONFIG_FEATURE_IPC_SYSLOG=y
-CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
-CONFIG_LOGREAD=y
-CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y
-CONFIG_KLOGD=y
-CONFIG_LOGGER=y
diff --git a/source/a/mkinitrd/busybox-dot-config.1.18.x b/source/a/mkinitrd/busybox-dot-config.1.18.x
deleted file mode 100644
index 35b32a4f9..000000000
--- a/source/a/mkinitrd/busybox-dot-config.1.18.x
+++ /dev/null
@@ -1,990 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Busybox version: 1.18.4
-# Fri Mar 25 23:08:06 2011
-#
-CONFIG_HAVE_DOT_CONFIG=y
-
-#
-# Busybox Settings
-#
-
-#
-# General Configuration
-#
-CONFIG_DESKTOP=y
-# CONFIG_EXTRA_COMPAT is not set
-CONFIG_INCLUDE_SUSv2=y
-# CONFIG_USE_PORTABLE_CODE is not set
-CONFIG_PLATFORM_LINUX=y
-CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
-# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
-# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
-CONFIG_SHOW_USAGE=y
-CONFIG_FEATURE_VERBOSE_USAGE=y
-CONFIG_FEATURE_COMPRESS_USAGE=y
-CONFIG_FEATURE_INSTALLER=y
-CONFIG_INSTALL_NO_USR=y
-CONFIG_LOCALE_SUPPORT=y
-CONFIG_UNICODE_SUPPORT=y
-# CONFIG_UNICODE_USING_LOCALE is not set
-# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set
-CONFIG_SUBST_WCHAR=63
-CONFIG_LAST_SUPPORTED_WCHAR=767
-# CONFIG_UNICODE_COMBINING_WCHARS is not set
-# CONFIG_UNICODE_WIDE_WCHARS is not set
-# CONFIG_UNICODE_BIDI_SUPPORT is not set
-# CONFIG_UNICODE_NEUTRAL_TABLE is not set
-# CONFIG_UNICODE_PRESERVE_BROKEN is not set
-CONFIG_LONG_OPTS=y
-CONFIG_FEATURE_DEVPTS=y
-# CONFIG_FEATURE_CLEAN_UP is not set
-CONFIG_FEATURE_WTMP=y
-CONFIG_FEATURE_UTMP=y
-CONFIG_FEATURE_PIDFILE=y
-CONFIG_FEATURE_SUID=y
-CONFIG_FEATURE_SUID_CONFIG=y
-CONFIG_FEATURE_SUID_CONFIG_QUIET=y
-# CONFIG_SELINUX is not set
-# CONFIG_FEATURE_PREFER_APPLETS is not set
-CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
-CONFIG_FEATURE_SYSLOG=y
-CONFIG_FEATURE_HAVE_RPC=y
-
-#
-# Build Options
-#
-# CONFIG_STATIC is not set
-# CONFIG_PIE is not set
-# CONFIG_NOMMU is not set
-# CONFIG_BUILD_LIBBUSYBOX is not set
-# CONFIG_FEATURE_INDIVIDUAL is not set
-# CONFIG_FEATURE_SHARED_BUSYBOX is not set
-CONFIG_LFS=y
-CONFIG_CROSS_COMPILER_PREFIX=""
-CONFIG_EXTRA_CFLAGS=""
-
-#
-# Debugging Options
-#
-# CONFIG_DEBUG is not set
-# CONFIG_DEBUG_PESSIMIZE is not set
-# CONFIG_WERROR is not set
-CONFIG_NO_DEBUG_LIB=y
-# CONFIG_DMALLOC is not set
-# CONFIG_EFENCE is not set
-
-#
-# Installation Options ("make install" behavior)
-#
-CONFIG_INSTALL_APPLET_SYMLINKS=y
-# CONFIG_INSTALL_APPLET_HARDLINKS is not set
-# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set
-# CONFIG_INSTALL_APPLET_DONT is not set
-# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set
-# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set
-# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set
-CONFIG_PREFIX="/tmp/package-mkinitrd/usr/share/mkinitrd/initrd-tree"
-
-#
-# Busybox Library Tuning
-#
-CONFIG_PASSWORD_MINLEN=6
-CONFIG_MD5_SIZE_VS_SPEED=2
-# CONFIG_FEATURE_FAST_TOP is not set
-# CONFIG_FEATURE_ETC_NETWORKS is not set
-CONFIG_FEATURE_USE_TERMIOS=y
-CONFIG_FEATURE_EDITING=y
-CONFIG_FEATURE_EDITING_MAX_LEN=1024
-CONFIG_FEATURE_EDITING_VI=y
-CONFIG_FEATURE_EDITING_HISTORY=64
-# CONFIG_FEATURE_EDITING_SAVEHISTORY is not set
-CONFIG_FEATURE_TAB_COMPLETION=y
-# CONFIG_FEATURE_USERNAME_COMPLETION is not set
-CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
-CONFIG_FEATURE_EDITING_ASK_TERMINAL=y
-# CONFIG_FEATURE_NON_POSIX_CP is not set
-CONFIG_FEATURE_VERBOSE_CP_MESSAGE=y
-CONFIG_FEATURE_COPYBUF_KB=4
-CONFIG_MONOTONIC_SYSCALL=y
-CONFIG_IOCTL_HEX2STR_ERROR=y
-# CONFIG_FEATURE_HWIB is not set
-
-#
-# Applets
-#
-
-#
-# Archival Utilities
-#
-CONFIG_FEATURE_SEAMLESS_XZ=y
-# CONFIG_FEATURE_SEAMLESS_LZMA is not set
-CONFIG_FEATURE_SEAMLESS_BZ2=y
-CONFIG_FEATURE_SEAMLESS_GZ=y
-CONFIG_FEATURE_SEAMLESS_Z=y
-CONFIG_AR=y
-CONFIG_FEATURE_AR_LONG_FILENAMES=y
-# CONFIG_FEATURE_AR_CREATE is not set
-CONFIG_BUNZIP2=y
-CONFIG_BZIP2=y
-CONFIG_CPIO=y
-CONFIG_FEATURE_CPIO_O=y
-CONFIG_FEATURE_CPIO_P=y
-# CONFIG_DPKG is not set
-# CONFIG_DPKG_DEB is not set
-# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
-CONFIG_GUNZIP=y
-CONFIG_GZIP=y
-CONFIG_FEATURE_GZIP_LONG_OPTIONS=y
-CONFIG_LZOP=y
-CONFIG_LZOP_COMPR_HIGH=y
-CONFIG_RPM2CPIO=y
-# CONFIG_RPM is not set
-CONFIG_TAR=y
-CONFIG_FEATURE_TAR_CREATE=y
-CONFIG_FEATURE_TAR_AUTODETECT=y
-CONFIG_FEATURE_TAR_FROM=y
-CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y
-# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set
-CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
-CONFIG_FEATURE_TAR_LONG_OPTIONS=y
-# CONFIG_FEATURE_TAR_TO_COMMAND is not set
-CONFIG_FEATURE_TAR_UNAME_GNAME=y
-CONFIG_FEATURE_TAR_NOPRESERVE_TIME=y
-# CONFIG_FEATURE_TAR_SELINUX is not set
-CONFIG_UNCOMPRESS=y
-CONFIG_UNLZMA=y
-CONFIG_FEATURE_LZMA_FAST=y
-CONFIG_LZMA=y
-CONFIG_UNXZ=y
-CONFIG_XZ=y
-CONFIG_UNZIP=y
-
-#
-# Coreutils
-#
-CONFIG_BASENAME=y
-CONFIG_CAT=y
-CONFIG_DATE=y
-CONFIG_FEATURE_DATE_ISOFMT=y
-# CONFIG_FEATURE_DATE_NANO is not set
-# CONFIG_FEATURE_DATE_COMPAT is not set
-CONFIG_TEST=y
-CONFIG_FEATURE_TEST_64=y
-CONFIG_TR=y
-CONFIG_FEATURE_TR_CLASSES=y
-CONFIG_FEATURE_TR_EQUIV=y
-CONFIG_BASE64=y
-CONFIG_CAL=y
-CONFIG_CATV=y
-CONFIG_CHGRP=y
-CONFIG_CHMOD=y
-CONFIG_CHOWN=y
-# CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set
-CONFIG_CHROOT=y
-CONFIG_CKSUM=y
-CONFIG_COMM=y
-CONFIG_CP=y
-CONFIG_FEATURE_CP_LONG_OPTIONS=y
-CONFIG_CUT=y
-CONFIG_DD=y
-CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
-# CONFIG_FEATURE_DD_THIRD_STATUS_LINE is not set
-CONFIG_FEATURE_DD_IBS_OBS=y
-CONFIG_DF=y
-CONFIG_FEATURE_DF_FANCY=y
-CONFIG_DIRNAME=y
-CONFIG_DOS2UNIX=y
-CONFIG_UNIX2DOS=y
-CONFIG_DU=y
-CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
-CONFIG_ECHO=y
-CONFIG_FEATURE_FANCY_ECHO=y
-CONFIG_ENV=y
-CONFIG_FEATURE_ENV_LONG_OPTIONS=y
-CONFIG_EXPAND=y
-CONFIG_FEATURE_EXPAND_LONG_OPTIONS=y
-CONFIG_EXPR=y
-CONFIG_EXPR_MATH_SUPPORT_64=y
-CONFIG_FALSE=y
-CONFIG_FOLD=y
-CONFIG_FSYNC=y
-CONFIG_HEAD=y
-CONFIG_FEATURE_FANCY_HEAD=y
-CONFIG_HOSTID=y
-CONFIG_ID=y
-CONFIG_INSTALL=y
-CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y
-CONFIG_LENGTH=y
-CONFIG_LN=y
-CONFIG_LOGNAME=y
-CONFIG_LS=y
-CONFIG_FEATURE_LS_FILETYPES=y
-CONFIG_FEATURE_LS_FOLLOWLINKS=y
-CONFIG_FEATURE_LS_RECURSIVE=y
-CONFIG_FEATURE_LS_SORTFILES=y
-CONFIG_FEATURE_LS_TIMESTAMPS=y
-CONFIG_FEATURE_LS_USERNAME=y
-CONFIG_FEATURE_LS_COLOR=y
-CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y
-CONFIG_MD5SUM=y
-CONFIG_MKDIR=y
-CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y
-CONFIG_MKFIFO=y
-CONFIG_MKNOD=y
-CONFIG_MV=y
-CONFIG_FEATURE_MV_LONG_OPTIONS=y
-CONFIG_NICE=y
-CONFIG_NOHUP=y
-CONFIG_OD=y
-CONFIG_PRINTENV=y
-CONFIG_PRINTF=y
-CONFIG_PWD=y
-CONFIG_READLINK=y
-CONFIG_FEATURE_READLINK_FOLLOW=y
-CONFIG_REALPATH=y
-CONFIG_RM=y
-CONFIG_RMDIR=y
-# CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set
-CONFIG_SEQ=y
-CONFIG_SHA1SUM=y
-CONFIG_SHA256SUM=y
-CONFIG_SHA512SUM=y
-CONFIG_SLEEP=y
-CONFIG_FEATURE_FANCY_SLEEP=y
-# CONFIG_FEATURE_FLOAT_SLEEP is not set
-CONFIG_SORT=y
-CONFIG_FEATURE_SORT_BIG=y
-CONFIG_SPLIT=y
-CONFIG_FEATURE_SPLIT_FANCY=y
-CONFIG_STAT=y
-CONFIG_FEATURE_STAT_FORMAT=y
-CONFIG_STTY=y
-CONFIG_SUM=y
-CONFIG_SYNC=y
-CONFIG_TAC=y
-CONFIG_TAIL=y
-CONFIG_FEATURE_FANCY_TAIL=y
-CONFIG_TEE=y
-CONFIG_FEATURE_TEE_USE_BLOCK_IO=y
-CONFIG_TOUCH=y
-CONFIG_TRUE=y
-CONFIG_TTY=y
-CONFIG_UNAME=y
-CONFIG_UNEXPAND=y
-CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS=y
-CONFIG_UNIQ=y
-CONFIG_USLEEP=y
-CONFIG_UUDECODE=y
-CONFIG_UUENCODE=y
-CONFIG_WC=y
-CONFIG_FEATURE_WC_LARGE=y
-CONFIG_WHO=y
-CONFIG_WHOAMI=y
-CONFIG_YES=y
-
-#
-# Common options for cp and mv
-#
-CONFIG_FEATURE_PRESERVE_HARDLINKS=y
-
-#
-# Common options for ls, more and telnet
-#
-CONFIG_FEATURE_AUTOWIDTH=y
-
-#
-# Common options for df, du, ls
-#
-CONFIG_FEATURE_HUMAN_READABLE=y
-
-#
-# Common options for md5sum, sha1sum, sha256sum, sha512sum
-#
-CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
-
-#
-# Console Utilities
-#
-CONFIG_CHVT=y
-CONFIG_FGCONSOLE=y
-CONFIG_CLEAR=y
-CONFIG_DEALLOCVT=y
-CONFIG_DUMPKMAP=y
-CONFIG_KBD_MODE=y
-CONFIG_LOADFONT=y
-CONFIG_LOADKMAP=y
-CONFIG_OPENVT=y
-CONFIG_RESET=y
-CONFIG_RESIZE=y
-CONFIG_FEATURE_RESIZE_PRINT=y
-CONFIG_SETCONSOLE=y
-CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS=y
-CONFIG_SETFONT=y
-CONFIG_FEATURE_SETFONT_TEXTUAL_MAP=y
-CONFIG_DEFAULT_SETFONT_DIR="/usr/share/kbd/consolefonts"
-CONFIG_SETKEYCODES=y
-CONFIG_SETLOGCONS=y
-CONFIG_SHOWKEY=y
-
-#
-# Common options for loadfont and setfont
-#
-# CONFIG_FEATURE_LOADFONT_PSF2 is not set
-CONFIG_FEATURE_LOADFONT_RAW=y
-
-#
-# Debian Utilities
-#
-CONFIG_MKTEMP=y
-CONFIG_PIPE_PROGRESS=y
-CONFIG_RUN_PARTS=y
-CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y
-CONFIG_FEATURE_RUN_PARTS_FANCY=y
-CONFIG_START_STOP_DAEMON=y
-CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y
-CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y
-CONFIG_WHICH=y
-
-#
-# Editors
-#
-CONFIG_PATCH=y
-CONFIG_AWK=y
-CONFIG_FEATURE_AWK_LIBM=y
-CONFIG_CMP=y
-CONFIG_DIFF=y
-# CONFIG_FEATURE_DIFF_LONG_OPTIONS is not set
-CONFIG_FEATURE_DIFF_DIR=y
-CONFIG_ED=y
-CONFIG_SED=y
-CONFIG_VI=y
-CONFIG_FEATURE_VI_MAX_LEN=1024
-CONFIG_FEATURE_VI_8BIT=y
-CONFIG_FEATURE_VI_COLON=y
-CONFIG_FEATURE_VI_YANKMARK=y
-CONFIG_FEATURE_VI_SEARCH=y
-CONFIG_FEATURE_VI_USE_SIGNALS=y
-CONFIG_FEATURE_VI_DOT_CMD=y
-CONFIG_FEATURE_VI_READONLY=y
-CONFIG_FEATURE_VI_SETOPTS=y
-CONFIG_FEATURE_VI_SET=y
-CONFIG_FEATURE_VI_WIN_RESIZE=y
-CONFIG_FEATURE_VI_ASK_TERMINAL=y
-CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
-CONFIG_FEATURE_ALLOW_EXEC=y
-
-#
-# Finding Utilities
-#
-CONFIG_FIND=y
-CONFIG_FEATURE_FIND_PRINT0=y
-CONFIG_FEATURE_FIND_MTIME=y
-CONFIG_FEATURE_FIND_MMIN=y
-CONFIG_FEATURE_FIND_PERM=y
-CONFIG_FEATURE_FIND_TYPE=y
-CONFIG_FEATURE_FIND_XDEV=y
-CONFIG_FEATURE_FIND_MAXDEPTH=y
-CONFIG_FEATURE_FIND_NEWER=y
-CONFIG_FEATURE_FIND_INUM=y
-CONFIG_FEATURE_FIND_EXEC=y
-CONFIG_FEATURE_FIND_USER=y
-CONFIG_FEATURE_FIND_GROUP=y
-CONFIG_FEATURE_FIND_NOT=y
-CONFIG_FEATURE_FIND_DEPTH=y
-CONFIG_FEATURE_FIND_PAREN=y
-CONFIG_FEATURE_FIND_SIZE=y
-CONFIG_FEATURE_FIND_PRUNE=y
-# CONFIG_FEATURE_FIND_DELETE is not set
-CONFIG_FEATURE_FIND_PATH=y
-CONFIG_FEATURE_FIND_REGEX=y
-# CONFIG_FEATURE_FIND_CONTEXT is not set
-CONFIG_FEATURE_FIND_LINKS=y
-CONFIG_GREP=y
-CONFIG_FEATURE_GREP_EGREP_ALIAS=y
-CONFIG_FEATURE_GREP_FGREP_ALIAS=y
-CONFIG_FEATURE_GREP_CONTEXT=y
-CONFIG_XARGS=y
-CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y
-CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y
-CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y
-CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
-
-#
-# Init Utilities
-#
-# CONFIG_BOOTCHARTD is not set
-# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set
-# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set
-CONFIG_HALT=y
-# CONFIG_FEATURE_CALL_TELINIT is not set
-CONFIG_TELINIT_PATH=""
-CONFIG_INIT=y
-CONFIG_FEATURE_USE_INITTAB=y
-CONFIG_FEATURE_KILL_REMOVED=y
-CONFIG_FEATURE_KILL_DELAY=10
-CONFIG_FEATURE_INIT_SCTTY=y
-CONFIG_FEATURE_INIT_SYSLOG=y
-CONFIG_FEATURE_EXTRA_QUIET=y
-# CONFIG_FEATURE_INIT_COREDUMPS is not set
-# CONFIG_FEATURE_INITRD is not set
-CONFIG_INIT_TERMINAL_TYPE="linux"
-CONFIG_MESG=y
-
-#
-# Login/Password Management Utilities
-#
-CONFIG_ADD_SHELL=y
-CONFIG_REMOVE_SHELL=y
-CONFIG_FEATURE_SHADOWPASSWDS=y
-# CONFIG_USE_BB_PWD_GRP is not set
-# CONFIG_USE_BB_SHADOW is not set
-CONFIG_USE_BB_CRYPT=y
-CONFIG_USE_BB_CRYPT_SHA=y
-CONFIG_ADDUSER=y
-# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set
-CONFIG_FEATURE_CHECK_NAMES=y
-CONFIG_FIRST_SYSTEM_ID=1000
-CONFIG_LAST_SYSTEM_ID=12000
-CONFIG_ADDGROUP=y
-CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS=y
-CONFIG_FEATURE_ADDUSER_TO_GROUP=y
-CONFIG_DELUSER=y
-CONFIG_DELGROUP=y
-CONFIG_FEATURE_DEL_USER_FROM_GROUP=y
-CONFIG_GETTY=y
-CONFIG_LOGIN=y
-# CONFIG_PAM is not set
-CONFIG_LOGIN_SCRIPTS=y
-CONFIG_FEATURE_NOLOGIN=y
-# CONFIG_FEATURE_SECURETTY is not set
-CONFIG_PASSWD=y
-CONFIG_FEATURE_PASSWD_WEAK_CHECK=y
-CONFIG_CRYPTPW=y
-CONFIG_CHPASSWD=y
-CONFIG_SU=y
-CONFIG_FEATURE_SU_SYSLOG=y
-CONFIG_FEATURE_SU_CHECKS_SHELLS=y
-CONFIG_SULOGIN=y
-CONFIG_VLOCK=y
-
-#
-# Linux Ext2 FS Progs
-#
-CONFIG_CHATTR=y
-CONFIG_FSCK=y
-CONFIG_LSATTR=y
-CONFIG_TUNE2FS=y
-
-#
-# Linux Module Utilities
-#
-CONFIG_MODINFO=y
-# CONFIG_MODPROBE_SMALL is not set
-# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set
-# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set
-CONFIG_INSMOD=y
-CONFIG_RMMOD=y
-CONFIG_LSMOD=y
-CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y
-CONFIG_MODPROBE=y
-CONFIG_FEATURE_MODPROBE_BLACKLIST=y
-CONFIG_DEPMOD=y
-
-#
-# Options common to multiple modutils
-#
-CONFIG_FEATURE_2_4_MODULES=y
-# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set
-# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
-CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS=y
-# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
-# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
-# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
-CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
-CONFIG_FEATURE_MODUTILS_ALIAS=y
-CONFIG_FEATURE_MODUTILS_SYMBOLS=y
-CONFIG_DEFAULT_MODULES_DIR="/lib/modules"
-CONFIG_DEFAULT_DEPMOD_FILE="modules.dep"
-
-#
-# Linux System Utilities
-#
-CONFIG_BLOCKDEV=y
-CONFIG_REV=y
-CONFIG_ACPID=y
-CONFIG_FEATURE_ACPID_COMPAT=y
-CONFIG_BLKID=y
-CONFIG_DMESG=y
-CONFIG_FEATURE_DMESG_PRETTY=y
-CONFIG_FBSET=y
-CONFIG_FEATURE_FBSET_FANCY=y
-CONFIG_FEATURE_FBSET_READMODE=y
-CONFIG_FDFLUSH=y
-CONFIG_FDFORMAT=y
-CONFIG_FDISK=y
-CONFIG_FDISK_SUPPORT_LARGE_DISKS=y
-CONFIG_FEATURE_FDISK_WRITABLE=y
-# CONFIG_FEATURE_AIX_LABEL is not set
-# CONFIG_FEATURE_SGI_LABEL is not set
-# CONFIG_FEATURE_SUN_LABEL is not set
-CONFIG_FEATURE_OSF_LABEL=y
-CONFIG_FEATURE_GPT_LABEL=y
-CONFIG_FEATURE_FDISK_ADVANCED=y
-CONFIG_FINDFS=y
-# CONFIG_FLOCK is not set
-CONFIG_FREERAMDISK=y
-CONFIG_FSCK_MINIX=y
-# CONFIG_MKFS_EXT2 is not set
-CONFIG_MKFS_MINIX=y
-CONFIG_FEATURE_MINIX2=y
-# CONFIG_MKFS_REISER is not set
-CONFIG_MKFS_VFAT=y
-CONFIG_GETOPT=y
-CONFIG_FEATURE_GETOPT_LONG=y
-CONFIG_HEXDUMP=y
-CONFIG_FEATURE_HEXDUMP_REVERSE=y
-CONFIG_HD=y
-CONFIG_HWCLOCK=y
-CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y
-CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y
-CONFIG_IPCRM=y
-CONFIG_IPCS=y
-CONFIG_LOSETUP=y
-CONFIG_LSPCI=y
-CONFIG_LSUSB=y
-CONFIG_MDEV=y
-CONFIG_FEATURE_MDEV_CONF=y
-CONFIG_FEATURE_MDEV_RENAME=y
-CONFIG_FEATURE_MDEV_RENAME_REGEXP=y
-CONFIG_FEATURE_MDEV_EXEC=y
-CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y
-CONFIG_MKSWAP=y
-CONFIG_FEATURE_MKSWAP_UUID=y
-CONFIG_MORE=y
-CONFIG_MOUNT=y
-CONFIG_FEATURE_MOUNT_FAKE=y
-# CONFIG_FEATURE_MOUNT_VERBOSE is not set
-CONFIG_FEATURE_MOUNT_HELPERS=y
-CONFIG_FEATURE_MOUNT_LABEL=y
-CONFIG_FEATURE_MOUNT_NFS=y
-CONFIG_FEATURE_MOUNT_CIFS=y
-CONFIG_FEATURE_MOUNT_FLAGS=y
-CONFIG_FEATURE_MOUNT_FSTAB=y
-CONFIG_PIVOT_ROOT=y
-CONFIG_RDATE=y
-CONFIG_RDEV=y
-CONFIG_READPROFILE=y
-CONFIG_RTCWAKE=y
-CONFIG_SCRIPT=y
-CONFIG_SCRIPTREPLAY=y
-CONFIG_SETARCH=y
-CONFIG_SWAPONOFF=y
-CONFIG_FEATURE_SWAPON_PRI=y
-CONFIG_SWITCH_ROOT=y
-CONFIG_UMOUNT=y
-CONFIG_FEATURE_UMOUNT_ALL=y
-
-#
-# Common options for mount/umount
-#
-CONFIG_FEATURE_MOUNT_LOOP=y
-CONFIG_FEATURE_MOUNT_LOOP_CREATE=y
-CONFIG_FEATURE_MTAB_SUPPORT=y
-CONFIG_VOLUMEID=y
-
-#
-# Filesystem/Volume identification
-#
-CONFIG_FEATURE_VOLUMEID_EXT=y
-# CONFIG_FEATURE_VOLUMEID_BTRFS is not set
-CONFIG_FEATURE_VOLUMEID_REISERFS=y
-CONFIG_FEATURE_VOLUMEID_FAT=y
-CONFIG_FEATURE_VOLUMEID_HFS=y
-CONFIG_FEATURE_VOLUMEID_JFS=y
-CONFIG_FEATURE_VOLUMEID_XFS=y
-CONFIG_FEATURE_VOLUMEID_NTFS=y
-CONFIG_FEATURE_VOLUMEID_ISO9660=y
-CONFIG_FEATURE_VOLUMEID_UDF=y
-CONFIG_FEATURE_VOLUMEID_LUKS=y
-CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y
-CONFIG_FEATURE_VOLUMEID_CRAMFS=y
-CONFIG_FEATURE_VOLUMEID_ROMFS=y
-CONFIG_FEATURE_VOLUMEID_SYSV=y
-# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set
-CONFIG_FEATURE_VOLUMEID_LINUXRAID=y
-
-#
-# Miscellaneous Utilities
-#
-# CONFIG_CONSPY is not set
-# CONFIG_NANDWRITE is not set
-# CONFIG_NANDDUMP is not set
-# CONFIG_UBIATTACH is not set
-# CONFIG_UBIDETACH is not set
-CONFIG_ADJTIMEX=y
-CONFIG_BBCONFIG=y
-CONFIG_FEATURE_COMPRESS_BBCONFIG=y
-CONFIG_BEEP=y
-CONFIG_FEATURE_BEEP_FREQ=4000
-CONFIG_FEATURE_BEEP_LENGTH_MS=30
-CONFIG_CHAT=y
-CONFIG_FEATURE_CHAT_NOFAIL=y
-# CONFIG_FEATURE_CHAT_TTY_HIFI is not set
-CONFIG_FEATURE_CHAT_IMPLICIT_CR=y
-# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set
-# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set
-# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set
-# CONFIG_FEATURE_CHAT_CLR_ABORT is not set
-CONFIG_CHRT=y
-CONFIG_CROND=y
-CONFIG_FEATURE_CROND_D=y
-# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
-CONFIG_FEATURE_CROND_DIR="/var/spool/cron"
-CONFIG_CRONTAB=y
-CONFIG_DC=y
-CONFIG_FEATURE_DC_LIBM=y
-# CONFIG_DEVFSD is not set
-# CONFIG_DEVFSD_MODLOAD is not set
-# CONFIG_DEVFSD_FG_NP is not set
-# CONFIG_DEVFSD_VERBOSE is not set
-# CONFIG_FEATURE_DEVFS is not set
-CONFIG_DEVMEM=y
-CONFIG_EJECT=y
-CONFIG_FEATURE_EJECT_SCSI=y
-CONFIG_FBSPLASH=y
-# CONFIG_FLASHCP is not set
-CONFIG_FLASH_LOCK=y
-CONFIG_FLASH_UNLOCK=y
-CONFIG_FLASH_ERASEALL=y
-CONFIG_IONICE=y
-CONFIG_INOTIFYD=y
-CONFIG_LAST=y
-CONFIG_FEATURE_LAST_SMALL=y
-# CONFIG_FEATURE_LAST_FANCY is not set
-CONFIG_LESS=y
-CONFIG_FEATURE_LESS_MAXLINES=9999999
-CONFIG_FEATURE_LESS_BRACKETS=y
-CONFIG_FEATURE_LESS_FLAGS=y
-CONFIG_FEATURE_LESS_MARKS=y
-CONFIG_FEATURE_LESS_REGEXP=y
-CONFIG_FEATURE_LESS_WINCH=y
-CONFIG_FEATURE_LESS_DASHCMD=y
-CONFIG_FEATURE_LESS_LINENUMS=y
-CONFIG_HDPARM=y
-CONFIG_FEATURE_HDPARM_GET_IDENTITY=y
-CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF=y
-CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF=y
-CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET=y
-CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF=y
-CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y
-CONFIG_MAKEDEVS=y
-# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
-CONFIG_FEATURE_MAKEDEVS_TABLE=y
-# CONFIG_MAN is not set
-# CONFIG_MICROCOM is not set
-CONFIG_MOUNTPOINT=y
-CONFIG_MT=y
-CONFIG_RAIDAUTORUN=y
-CONFIG_READAHEAD=y
-# CONFIG_RFKILL is not set
-CONFIG_RUNLEVEL=y
-CONFIG_RX=y
-CONFIG_SETSID=y
-CONFIG_STRINGS=y
-CONFIG_TASKSET=y
-CONFIG_FEATURE_TASKSET_FANCY=y
-CONFIG_TIME=y
-CONFIG_TIMEOUT=y
-CONFIG_TTYSIZE=y
-CONFIG_VOLNAME=y
-# CONFIG_WALL is not set
-CONFIG_WATCHDOG=y
-
-#
-# Networking Utilities
-#
-CONFIG_NBDCLIENT=y
-CONFIG_NC=y
-CONFIG_NC_SERVER=y
-CONFIG_NC_EXTRA=y
-# CONFIG_NC_110_COMPAT is not set
-CONFIG_FEATURE_IPV6=y
-CONFIG_FEATURE_UNIX_LOCAL=y
-CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y
-# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set
-CONFIG_ARP=y
-CONFIG_ARPING=y
-CONFIG_BRCTL=y
-# CONFIG_FEATURE_BRCTL_FANCY is not set
-# CONFIG_FEATURE_BRCTL_SHOW is not set
-CONFIG_DNSD=y
-CONFIG_ETHER_WAKE=y
-CONFIG_FAKEIDENTD=y
-CONFIG_FTPD=y
-CONFIG_FEATURE_FTP_WRITE=y
-CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST=y
-CONFIG_FTPGET=y
-CONFIG_FTPPUT=y
-CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y
-CONFIG_HOSTNAME=y
-# CONFIG_HTTPD is not set
-# CONFIG_FEATURE_HTTPD_RANGES is not set
-# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set
-# CONFIG_FEATURE_HTTPD_SETUID is not set
-# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set
-# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set
-# CONFIG_FEATURE_HTTPD_CGI is not set
-# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set
-# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set
-# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set
-# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set
-# CONFIG_FEATURE_HTTPD_PROXY is not set
-# CONFIG_FEATURE_HTTPD_GZIP is not set
-CONFIG_IFCONFIG=y
-CONFIG_FEATURE_IFCONFIG_STATUS=y
-CONFIG_FEATURE_IFCONFIG_SLIP=y
-CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y
-CONFIG_FEATURE_IFCONFIG_HW=y
-CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
-CONFIG_IFENSLAVE=y
-CONFIG_IFPLUGD=y
-CONFIG_IFUPDOWN=y
-CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate"
-CONFIG_FEATURE_IFUPDOWN_IP=y
-CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y
-# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set
-CONFIG_FEATURE_IFUPDOWN_IPV4=y
-CONFIG_FEATURE_IFUPDOWN_IPV6=y
-CONFIG_FEATURE_IFUPDOWN_MAPPING=y
-CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP=y
-# CONFIG_INETD is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set
-# CONFIG_FEATURE_INETD_RPC is not set
-CONFIG_IP=y
-CONFIG_FEATURE_IP_ADDRESS=y
-CONFIG_FEATURE_IP_LINK=y
-CONFIG_FEATURE_IP_ROUTE=y
-CONFIG_FEATURE_IP_TUNNEL=y
-CONFIG_FEATURE_IP_RULE=y
-CONFIG_FEATURE_IP_SHORT_FORMS=y
-# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set
-CONFIG_IPADDR=y
-CONFIG_IPLINK=y
-CONFIG_IPROUTE=y
-CONFIG_IPTUNNEL=y
-CONFIG_IPRULE=y
-CONFIG_IPCALC=y
-CONFIG_FEATURE_IPCALC_FANCY=y
-CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y
-CONFIG_NAMEIF=y
-# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
-CONFIG_NETSTAT=y
-# CONFIG_FEATURE_NETSTAT_WIDE is not set
-CONFIG_FEATURE_NETSTAT_PRG=y
-CONFIG_NSLOOKUP=y
-# CONFIG_NTPD is not set
-# CONFIG_FEATURE_NTPD_SERVER is not set
-CONFIG_PING=y
-CONFIG_PING6=y
-CONFIG_FEATURE_FANCY_PING=y
-CONFIG_PSCAN=y
-CONFIG_ROUTE=y
-CONFIG_SLATTACH=y
-CONFIG_TCPSVD=y
-CONFIG_TELNET=y
-CONFIG_FEATURE_TELNET_TTYPE=y
-CONFIG_FEATURE_TELNET_AUTOLOGIN=y
-CONFIG_TELNETD=y
-CONFIG_FEATURE_TELNETD_STANDALONE=y
-# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set
-CONFIG_TFTP=y
-# CONFIG_TFTPD is not set
-
-#
-# Common options for tftp/tftpd
-#
-CONFIG_FEATURE_TFTP_GET=y
-CONFIG_FEATURE_TFTP_PUT=y
-CONFIG_FEATURE_TFTP_BLOCKSIZE=y
-CONFIG_FEATURE_TFTP_PROGRESS_BAR=y
-CONFIG_TFTP_DEBUG=y
-CONFIG_TRACEROUTE=y
-CONFIG_TRACEROUTE6=y
-# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
-# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set
-# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
-CONFIG_TUNCTL=y
-CONFIG_FEATURE_TUNCTL_UG=y
-# CONFIG_UDHCPD is not set
-# CONFIG_DHCPRELAY is not set
-# CONFIG_DUMPLEASES is not set
-# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
-CONFIG_DHCPD_LEASES_FILE=""
-# CONFIG_UDHCPC is not set
-# CONFIG_FEATURE_UDHCPC_ARPING is not set
-# CONFIG_FEATURE_UDHCP_PORT is not set
-CONFIG_UDHCP_DEBUG=0
-# CONFIG_FEATURE_UDHCP_RFC3397 is not set
-CONFIG_UDHCPC_DEFAULT_SCRIPT=""
-CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=0
-CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS=""
-CONFIG_UDPSVD=y
-CONFIG_VCONFIG=y
-CONFIG_WGET=y
-CONFIG_FEATURE_WGET_STATUSBAR=y
-CONFIG_FEATURE_WGET_AUTHENTICATION=y
-CONFIG_FEATURE_WGET_LONG_OPTIONS=y
-CONFIG_FEATURE_WGET_TIMEOUT=y
-CONFIG_ZCIP=y
-
-#
-# Print Utilities
-#
-# CONFIG_LPD is not set
-CONFIG_LPR=y
-# CONFIG_LPQ is not set
-
-#
-# Mail Utilities
-#
-CONFIG_MAKEMIME=y
-CONFIG_FEATURE_MIME_CHARSET="us-ascii"
-CONFIG_POPMAILDIR=y
-CONFIG_FEATURE_POPMAILDIR_DELIVERY=y
-CONFIG_REFORMIME=y
-CONFIG_FEATURE_REFORMIME_COMPAT=y
-# CONFIG_SENDMAIL is not set
-
-#
-# Process Utilities
-#
-CONFIG_IOSTAT=y
-CONFIG_MPSTAT=y
-CONFIG_PMAP=y
-CONFIG_POWERTOP=y
-# CONFIG_SMEMCAP is not set
-CONFIG_FREE=y
-CONFIG_FUSER=y
-CONFIG_KILL=y
-CONFIG_KILLALL=y
-CONFIG_KILLALL5=y
-CONFIG_NMETER=y
-CONFIG_PGREP=y
-CONFIG_PIDOF=y
-CONFIG_FEATURE_PIDOF_SINGLE=y
-CONFIG_FEATURE_PIDOF_OMIT=y
-CONFIG_PKILL=y
-CONFIG_PS=y
-CONFIG_FEATURE_PS_WIDE=y
-CONFIG_FEATURE_PS_TIME=y
-CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS=y
-# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set
-CONFIG_RENICE=y
-CONFIG_BB_SYSCTL=y
-CONFIG_TOP=y
-CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
-CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
-CONFIG_FEATURE_TOP_SMP_CPU=y
-CONFIG_FEATURE_TOP_DECIMALS=y
-CONFIG_FEATURE_TOP_SMP_PROCESS=y
-CONFIG_FEATURE_TOPMEM=y
-CONFIG_FEATURE_SHOW_THREADS=y
-CONFIG_UPTIME=y
-CONFIG_WATCH=y
-
-#
-# Runit Utilities
-#
-CONFIG_RUNSV=y
-CONFIG_RUNSVDIR=y
-CONFIG_FEATURE_RUNSVDIR_LOG=y
-CONFIG_SV=y
-CONFIG_SV_DEFAULT_SERVICE_DIR="/var/service"
-CONFIG_SVLOGD=y
-CONFIG_CHPST=y
-CONFIG_SETUIDGID=y
-CONFIG_ENVUIDGID=y
-CONFIG_ENVDIR=y
-CONFIG_SOFTLIMIT=y
-# CONFIG_CHCON is not set
-# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set
-# CONFIG_GETENFORCE is not set
-# CONFIG_GETSEBOOL is not set
-# CONFIG_LOAD_POLICY is not set
-# CONFIG_MATCHPATHCON is not set
-# CONFIG_RESTORECON is not set
-# CONFIG_RUNCON is not set
-# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set
-# CONFIG_SELINUXENABLED is not set
-# CONFIG_SETENFORCE is not set
-# CONFIG_SETFILES is not set
-# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set
-# CONFIG_SETSEBOOL is not set
-# CONFIG_SESTATUS is not set
-
-#
-# Shells
-#
-CONFIG_ASH=y
-CONFIG_ASH_BASH_COMPAT=y
-CONFIG_ASH_JOB_CONTROL=y
-CONFIG_ASH_ALIAS=y
-CONFIG_ASH_GETOPTS=y
-CONFIG_ASH_BUILTIN_ECHO=y
-CONFIG_ASH_BUILTIN_PRINTF=y
-CONFIG_ASH_BUILTIN_TEST=y
-CONFIG_ASH_CMDCMD=y
-CONFIG_ASH_MAIL=y
-CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
-CONFIG_ASH_RANDOM_SUPPORT=y
-CONFIG_ASH_EXPAND_PRMT=y
-CONFIG_CTTYHACK=y
-# CONFIG_HUSH is not set
-# CONFIG_HUSH_BASH_COMPAT is not set
-# CONFIG_HUSH_BRACE_EXPANSION is not set
-# CONFIG_HUSH_HELP is not set
-# CONFIG_HUSH_INTERACTIVE is not set
-# CONFIG_HUSH_SAVEHISTORY is not set
-# CONFIG_HUSH_JOB is not set
-# CONFIG_HUSH_TICK is not set
-# CONFIG_HUSH_IF is not set
-# CONFIG_HUSH_LOOPS is not set
-# CONFIG_HUSH_CASE is not set
-# CONFIG_HUSH_FUNCTIONS is not set
-# CONFIG_HUSH_LOCAL is not set
-# CONFIG_HUSH_RANDOM_SUPPORT is not set
-# CONFIG_HUSH_EXPORT_N is not set
-# CONFIG_HUSH_MODE_X is not set
-# CONFIG_MSH is not set
-CONFIG_FEATURE_SH_IS_ASH=y
-# CONFIG_FEATURE_SH_IS_HUSH is not set
-# CONFIG_FEATURE_SH_IS_NONE is not set
-# CONFIG_FEATURE_BASH_IS_ASH is not set
-# CONFIG_FEATURE_BASH_IS_HUSH is not set
-CONFIG_FEATURE_BASH_IS_NONE=y
-CONFIG_SH_MATH_SUPPORT=y
-CONFIG_SH_MATH_SUPPORT_64=y
-CONFIG_FEATURE_SH_EXTRA_QUIET=y
-# CONFIG_FEATURE_SH_STANDALONE is not set
-# CONFIG_FEATURE_SH_NOFORK is not set
-
-#
-# System Logging Utilities
-#
-CONFIG_SYSLOGD=y
-CONFIG_FEATURE_ROTATE_LOGFILE=y
-CONFIG_FEATURE_REMOTE_LOG=y
-# CONFIG_FEATURE_SYSLOGD_DUP is not set
-CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256
-CONFIG_FEATURE_IPC_SYSLOG=y
-CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
-CONFIG_LOGREAD=y
-CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y
-CONFIG_KLOGD=y
-CONFIG_FEATURE_KLOGD_KLOGCTL=y
-CONFIG_LOGGER=y
diff --git a/source/a/mkinitrd/busybox-dot-config.1.19.x b/source/a/mkinitrd/busybox-dot-config.1.19.x
deleted file mode 100644
index 864fed9da..000000000
--- a/source/a/mkinitrd/busybox-dot-config.1.19.x
+++ /dev/null
@@ -1,1013 +0,0 @@
-#
-# Automatically generated make config: don't edit
-# Busybox version: 1.19.3
-# Sat Dec 10 20:40:02 2011
-#
-CONFIG_HAVE_DOT_CONFIG=y
-
-#
-# Busybox Settings
-#
-
-#
-# General Configuration
-#
-CONFIG_DESKTOP=y
-# CONFIG_EXTRA_COMPAT is not set
-CONFIG_INCLUDE_SUSv2=y
-# CONFIG_USE_PORTABLE_CODE is not set
-CONFIG_PLATFORM_LINUX=y
-CONFIG_FEATURE_BUFFERS_USE_MALLOC=y
-# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
-# CONFIG_FEATURE_BUFFERS_GO_IN_BSS is not set
-CONFIG_SHOW_USAGE=y
-CONFIG_FEATURE_VERBOSE_USAGE=y
-CONFIG_FEATURE_COMPRESS_USAGE=y
-CONFIG_FEATURE_INSTALLER=y
-CONFIG_INSTALL_NO_USR=y
-CONFIG_LOCALE_SUPPORT=y
-CONFIG_UNICODE_SUPPORT=y
-# CONFIG_UNICODE_USING_LOCALE is not set
-# CONFIG_FEATURE_CHECK_UNICODE_IN_ENV is not set
-CONFIG_SUBST_WCHAR=63
-CONFIG_LAST_SUPPORTED_WCHAR=767
-# CONFIG_UNICODE_COMBINING_WCHARS is not set
-# CONFIG_UNICODE_WIDE_WCHARS is not set
-# CONFIG_UNICODE_BIDI_SUPPORT is not set
-# CONFIG_UNICODE_NEUTRAL_TABLE is not set
-# CONFIG_UNICODE_PRESERVE_BROKEN is not set
-CONFIG_LONG_OPTS=y
-CONFIG_FEATURE_DEVPTS=y
-# CONFIG_FEATURE_CLEAN_UP is not set
-CONFIG_FEATURE_UTMP=y
-CONFIG_FEATURE_WTMP=y
-CONFIG_FEATURE_PIDFILE=y
-CONFIG_FEATURE_SUID=y
-CONFIG_FEATURE_SUID_CONFIG=y
-CONFIG_FEATURE_SUID_CONFIG_QUIET=y
-# CONFIG_SELINUX is not set
-# CONFIG_FEATURE_PREFER_APPLETS is not set
-CONFIG_BUSYBOX_EXEC_PATH="/proc/self/exe"
-CONFIG_FEATURE_SYSLOG=y
-CONFIG_FEATURE_HAVE_RPC=y
-
-#
-# Build Options
-#
-# CONFIG_STATIC is not set
-# CONFIG_PIE is not set
-# CONFIG_NOMMU is not set
-# CONFIG_BUILD_LIBBUSYBOX is not set
-# CONFIG_FEATURE_INDIVIDUAL is not set
-# CONFIG_FEATURE_SHARED_BUSYBOX is not set
-CONFIG_LFS=y
-CONFIG_CROSS_COMPILER_PREFIX=""
-CONFIG_EXTRA_CFLAGS=""
-
-#
-# Debugging Options
-#
-# CONFIG_DEBUG is not set
-# CONFIG_DEBUG_PESSIMIZE is not set
-# CONFIG_WERROR is not set
-CONFIG_NO_DEBUG_LIB=y
-# CONFIG_DMALLOC is not set
-# CONFIG_EFENCE is not set
-
-#
-# Installation Options ("make install" behavior)
-#
-CONFIG_INSTALL_APPLET_SYMLINKS=y
-# CONFIG_INSTALL_APPLET_HARDLINKS is not set
-# CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS is not set
-# CONFIG_INSTALL_APPLET_DONT is not set
-# CONFIG_INSTALL_SH_APPLET_SYMLINK is not set
-# CONFIG_INSTALL_SH_APPLET_HARDLINK is not set
-# CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER is not set
-CONFIG_PREFIX="/tmp/package-mkinitrd/usr/share/mkinitrd/initrd-tree"
-
-#
-# Busybox Library Tuning
-#
-# CONFIG_FEATURE_SYSTEMD is not set
-CONFIG_FEATURE_RTMINMAX=y
-CONFIG_PASSWORD_MINLEN=6
-CONFIG_MD5_SIZE_VS_SPEED=2
-# CONFIG_FEATURE_FAST_TOP is not set
-# CONFIG_FEATURE_ETC_NETWORKS is not set
-CONFIG_FEATURE_USE_TERMIOS=y
-CONFIG_FEATURE_EDITING=y
-CONFIG_FEATURE_EDITING_MAX_LEN=1024
-CONFIG_FEATURE_EDITING_VI=y
-CONFIG_FEATURE_EDITING_HISTORY=64
-# CONFIG_FEATURE_EDITING_SAVEHISTORY is not set
-# CONFIG_FEATURE_REVERSE_SEARCH is not set
-CONFIG_FEATURE_TAB_COMPLETION=y
-# CONFIG_FEATURE_USERNAME_COMPLETION is not set
-CONFIG_FEATURE_EDITING_FANCY_PROMPT=y
-CONFIG_FEATURE_EDITING_ASK_TERMINAL=y
-# CONFIG_FEATURE_NON_POSIX_CP is not set
-CONFIG_FEATURE_VERBOSE_CP_MESSAGE=y
-CONFIG_FEATURE_COPYBUF_KB=4
-# CONFIG_FEATURE_SKIP_ROOTFS is not set
-CONFIG_MONOTONIC_SYSCALL=y
-CONFIG_IOCTL_HEX2STR_ERROR=y
-# CONFIG_FEATURE_HWIB is not set
-
-#
-# Applets
-#
-
-#
-# Archival Utilities
-#
-CONFIG_FEATURE_SEAMLESS_XZ=y
-# CONFIG_FEATURE_SEAMLESS_LZMA is not set
-CONFIG_FEATURE_SEAMLESS_BZ2=y
-CONFIG_FEATURE_SEAMLESS_GZ=y
-CONFIG_FEATURE_SEAMLESS_Z=y
-CONFIG_AR=y
-CONFIG_FEATURE_AR_LONG_FILENAMES=y
-# CONFIG_FEATURE_AR_CREATE is not set
-CONFIG_BUNZIP2=y
-CONFIG_BZIP2=y
-CONFIG_CPIO=y
-CONFIG_FEATURE_CPIO_O=y
-CONFIG_FEATURE_CPIO_P=y
-# CONFIG_DPKG is not set
-# CONFIG_DPKG_DEB is not set
-# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
-CONFIG_GUNZIP=y
-CONFIG_GZIP=y
-CONFIG_FEATURE_GZIP_LONG_OPTIONS=y
-CONFIG_LZOP=y
-CONFIG_LZOP_COMPR_HIGH=y
-CONFIG_RPM2CPIO=y
-# CONFIG_RPM is not set
-CONFIG_TAR=y
-CONFIG_FEATURE_TAR_CREATE=y
-CONFIG_FEATURE_TAR_AUTODETECT=y
-CONFIG_FEATURE_TAR_FROM=y
-CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY=y
-# CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY is not set
-CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
-CONFIG_FEATURE_TAR_LONG_OPTIONS=y
-# CONFIG_FEATURE_TAR_TO_COMMAND is not set
-CONFIG_FEATURE_TAR_UNAME_GNAME=y
-CONFIG_FEATURE_TAR_NOPRESERVE_TIME=y
-# CONFIG_FEATURE_TAR_SELINUX is not set
-CONFIG_UNCOMPRESS=y
-CONFIG_UNLZMA=y
-CONFIG_FEATURE_LZMA_FAST=y
-CONFIG_LZMA=y
-CONFIG_UNXZ=y
-CONFIG_XZ=y
-CONFIG_UNZIP=y
-
-#
-# Coreutils
-#
-CONFIG_BASENAME=y
-CONFIG_CAT=y
-CONFIG_DATE=y
-CONFIG_FEATURE_DATE_ISOFMT=y
-# CONFIG_FEATURE_DATE_NANO is not set
-# CONFIG_FEATURE_DATE_COMPAT is not set
-CONFIG_ID=y
-# CONFIG_GROUPS is not set
-CONFIG_TEST=y
-CONFIG_FEATURE_TEST_64=y
-CONFIG_TOUCH=y
-CONFIG_TR=y
-CONFIG_FEATURE_TR_CLASSES=y
-CONFIG_FEATURE_TR_EQUIV=y
-CONFIG_BASE64=y
-CONFIG_WHO=y
-CONFIG_USERS=y
-CONFIG_CAL=y
-CONFIG_CATV=y
-CONFIG_CHGRP=y
-CONFIG_CHMOD=y
-CONFIG_CHOWN=y
-# CONFIG_FEATURE_CHOWN_LONG_OPTIONS is not set
-CONFIG_CHROOT=y
-CONFIG_CKSUM=y
-CONFIG_COMM=y
-CONFIG_CP=y
-CONFIG_FEATURE_CP_LONG_OPTIONS=y
-CONFIG_CUT=y
-CONFIG_DD=y
-CONFIG_FEATURE_DD_SIGNAL_HANDLING=y
-# CONFIG_FEATURE_DD_THIRD_STATUS_LINE is not set
-CONFIG_FEATURE_DD_IBS_OBS=y
-CONFIG_DF=y
-CONFIG_FEATURE_DF_FANCY=y
-CONFIG_DIRNAME=y
-CONFIG_DOS2UNIX=y
-CONFIG_UNIX2DOS=y
-CONFIG_DU=y
-CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K=y
-CONFIG_ECHO=y
-CONFIG_FEATURE_FANCY_ECHO=y
-CONFIG_ENV=y
-CONFIG_FEATURE_ENV_LONG_OPTIONS=y
-CONFIG_EXPAND=y
-CONFIG_FEATURE_EXPAND_LONG_OPTIONS=y
-CONFIG_EXPR=y
-CONFIG_EXPR_MATH_SUPPORT_64=y
-CONFIG_FALSE=y
-CONFIG_FOLD=y
-CONFIG_FSYNC=y
-CONFIG_HEAD=y
-CONFIG_FEATURE_FANCY_HEAD=y
-CONFIG_HOSTID=y
-CONFIG_INSTALL=y
-CONFIG_FEATURE_INSTALL_LONG_OPTIONS=y
-CONFIG_LN=y
-CONFIG_LOGNAME=y
-CONFIG_LS=y
-CONFIG_FEATURE_LS_FILETYPES=y
-CONFIG_FEATURE_LS_FOLLOWLINKS=y
-CONFIG_FEATURE_LS_RECURSIVE=y
-CONFIG_FEATURE_LS_SORTFILES=y
-CONFIG_FEATURE_LS_TIMESTAMPS=y
-CONFIG_FEATURE_LS_USERNAME=y
-CONFIG_FEATURE_LS_COLOR=y
-CONFIG_FEATURE_LS_COLOR_IS_DEFAULT=y
-CONFIG_MD5SUM=y
-CONFIG_MKDIR=y
-CONFIG_FEATURE_MKDIR_LONG_OPTIONS=y
-CONFIG_MKFIFO=y
-CONFIG_MKNOD=y
-CONFIG_MV=y
-CONFIG_FEATURE_MV_LONG_OPTIONS=y
-CONFIG_NICE=y
-CONFIG_NOHUP=y
-CONFIG_OD=y
-CONFIG_PRINTENV=y
-CONFIG_PRINTF=y
-CONFIG_PWD=y
-CONFIG_READLINK=y
-CONFIG_FEATURE_READLINK_FOLLOW=y
-CONFIG_REALPATH=y
-CONFIG_RM=y
-CONFIG_RMDIR=y
-# CONFIG_FEATURE_RMDIR_LONG_OPTIONS is not set
-CONFIG_SEQ=y
-CONFIG_SHA1SUM=y
-CONFIG_SHA256SUM=y
-CONFIG_SHA512SUM=y
-CONFIG_SLEEP=y
-CONFIG_FEATURE_FANCY_SLEEP=y
-# CONFIG_FEATURE_FLOAT_SLEEP is not set
-CONFIG_SORT=y
-CONFIG_FEATURE_SORT_BIG=y
-CONFIG_SPLIT=y
-CONFIG_FEATURE_SPLIT_FANCY=y
-CONFIG_STAT=y
-CONFIG_FEATURE_STAT_FORMAT=y
-CONFIG_STTY=y
-CONFIG_SUM=y
-CONFIG_SYNC=y
-CONFIG_TAC=y
-CONFIG_TAIL=y
-CONFIG_FEATURE_FANCY_TAIL=y
-CONFIG_TEE=y
-CONFIG_FEATURE_TEE_USE_BLOCK_IO=y
-CONFIG_TRUE=y
-CONFIG_TTY=y
-CONFIG_UNAME=y
-CONFIG_UNEXPAND=y
-CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS=y
-CONFIG_UNIQ=y
-CONFIG_USLEEP=y
-CONFIG_UUDECODE=y
-CONFIG_UUENCODE=y
-CONFIG_WC=y
-CONFIG_FEATURE_WC_LARGE=y
-CONFIG_WHOAMI=y
-CONFIG_YES=y
-
-#
-# Common options for cp and mv
-#
-CONFIG_FEATURE_PRESERVE_HARDLINKS=y
-
-#
-# Common options for ls, more and telnet
-#
-CONFIG_FEATURE_AUTOWIDTH=y
-
-#
-# Common options for df, du, ls
-#
-CONFIG_FEATURE_HUMAN_READABLE=y
-
-#
-# Common options for md5sum, sha1sum, sha256sum, sha512sum
-#
-CONFIG_FEATURE_MD5_SHA1_SUM_CHECK=y
-
-#
-# Console Utilities
-#
-CONFIG_CHVT=y
-CONFIG_FGCONSOLE=y
-CONFIG_CLEAR=y
-CONFIG_DEALLOCVT=y
-CONFIG_DUMPKMAP=y
-CONFIG_KBD_MODE=y
-CONFIG_LOADFONT=y
-CONFIG_LOADKMAP=y
-CONFIG_OPENVT=y
-CONFIG_RESET=y
-CONFIG_RESIZE=y
-CONFIG_FEATURE_RESIZE_PRINT=y
-CONFIG_SETCONSOLE=y
-CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS=y
-CONFIG_SETFONT=y
-CONFIG_FEATURE_SETFONT_TEXTUAL_MAP=y
-CONFIG_DEFAULT_SETFONT_DIR="/usr/share/kbd/consolefonts"
-CONFIG_SETKEYCODES=y
-CONFIG_SETLOGCONS=y
-CONFIG_SHOWKEY=y
-
-#
-# Common options for loadfont and setfont
-#
-# CONFIG_FEATURE_LOADFONT_PSF2 is not set
-CONFIG_FEATURE_LOADFONT_RAW=y
-
-#
-# Debian Utilities
-#
-CONFIG_MKTEMP=y
-CONFIG_PIPE_PROGRESS=y
-CONFIG_RUN_PARTS=y
-CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS=y
-CONFIG_FEATURE_RUN_PARTS_FANCY=y
-CONFIG_START_STOP_DAEMON=y
-CONFIG_FEATURE_START_STOP_DAEMON_FANCY=y
-CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS=y
-CONFIG_WHICH=y
-
-#
-# Editors
-#
-CONFIG_PATCH=y
-CONFIG_VI=y
-CONFIG_FEATURE_VI_MAX_LEN=1024
-CONFIG_FEATURE_VI_8BIT=y
-CONFIG_FEATURE_VI_COLON=y
-CONFIG_FEATURE_VI_YANKMARK=y
-CONFIG_FEATURE_VI_SEARCH=y
-# CONFIG_FEATURE_VI_REGEX_SEARCH is not set
-CONFIG_FEATURE_VI_USE_SIGNALS=y
-CONFIG_FEATURE_VI_DOT_CMD=y
-CONFIG_FEATURE_VI_READONLY=y
-CONFIG_FEATURE_VI_SETOPTS=y
-CONFIG_FEATURE_VI_SET=y
-CONFIG_FEATURE_VI_WIN_RESIZE=y
-CONFIG_FEATURE_VI_ASK_TERMINAL=y
-CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y
-CONFIG_AWK=y
-CONFIG_FEATURE_AWK_LIBM=y
-CONFIG_CMP=y
-CONFIG_DIFF=y
-# CONFIG_FEATURE_DIFF_LONG_OPTIONS is not set
-CONFIG_FEATURE_DIFF_DIR=y
-CONFIG_ED=y
-CONFIG_SED=y
-CONFIG_FEATURE_ALLOW_EXEC=y
-
-#
-# Finding Utilities
-#
-CONFIG_FIND=y
-CONFIG_FEATURE_FIND_PRINT0=y
-CONFIG_FEATURE_FIND_MTIME=y
-CONFIG_FEATURE_FIND_MMIN=y
-CONFIG_FEATURE_FIND_PERM=y
-CONFIG_FEATURE_FIND_TYPE=y
-CONFIG_FEATURE_FIND_XDEV=y
-CONFIG_FEATURE_FIND_MAXDEPTH=y
-CONFIG_FEATURE_FIND_NEWER=y
-CONFIG_FEATURE_FIND_INUM=y
-CONFIG_FEATURE_FIND_EXEC=y
-CONFIG_FEATURE_FIND_USER=y
-CONFIG_FEATURE_FIND_GROUP=y
-CONFIG_FEATURE_FIND_NOT=y
-CONFIG_FEATURE_FIND_DEPTH=y
-CONFIG_FEATURE_FIND_PAREN=y
-CONFIG_FEATURE_FIND_SIZE=y
-CONFIG_FEATURE_FIND_PRUNE=y
-# CONFIG_FEATURE_FIND_DELETE is not set
-CONFIG_FEATURE_FIND_PATH=y
-CONFIG_FEATURE_FIND_REGEX=y
-# CONFIG_FEATURE_FIND_CONTEXT is not set
-CONFIG_FEATURE_FIND_LINKS=y
-CONFIG_GREP=y
-CONFIG_FEATURE_GREP_EGREP_ALIAS=y
-CONFIG_FEATURE_GREP_FGREP_ALIAS=y
-CONFIG_FEATURE_GREP_CONTEXT=y
-CONFIG_XARGS=y
-CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION=y
-CONFIG_FEATURE_XARGS_SUPPORT_QUOTES=y
-CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT=y
-CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM=y
-
-#
-# Init Utilities
-#
-# CONFIG_BOOTCHARTD is not set
-# CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER is not set
-# CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE is not set
-CONFIG_HALT=y
-# CONFIG_FEATURE_CALL_TELINIT is not set
-CONFIG_TELINIT_PATH=""
-CONFIG_INIT=y
-CONFIG_FEATURE_USE_INITTAB=y
-CONFIG_FEATURE_KILL_REMOVED=y
-CONFIG_FEATURE_KILL_DELAY=10
-CONFIG_FEATURE_INIT_SCTTY=y
-CONFIG_FEATURE_INIT_SYSLOG=y
-CONFIG_FEATURE_EXTRA_QUIET=y
-# CONFIG_FEATURE_INIT_COREDUMPS is not set
-# CONFIG_FEATURE_INITRD is not set
-CONFIG_INIT_TERMINAL_TYPE="linux"
-CONFIG_MESG=y
-CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP=y
-
-#
-# Login/Password Management Utilities
-#
-CONFIG_ADD_SHELL=y
-CONFIG_REMOVE_SHELL=y
-CONFIG_FEATURE_SHADOWPASSWDS=y
-# CONFIG_USE_BB_PWD_GRP is not set
-# CONFIG_USE_BB_SHADOW is not set
-CONFIG_USE_BB_CRYPT=y
-CONFIG_USE_BB_CRYPT_SHA=y
-CONFIG_ADDUSER=y
-# CONFIG_FEATURE_ADDUSER_LONG_OPTIONS is not set
-CONFIG_FEATURE_CHECK_NAMES=y
-CONFIG_FIRST_SYSTEM_ID=1000
-CONFIG_LAST_SYSTEM_ID=12000
-CONFIG_ADDGROUP=y
-CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS=y
-CONFIG_FEATURE_ADDUSER_TO_GROUP=y
-CONFIG_DELUSER=y
-CONFIG_DELGROUP=y
-CONFIG_FEATURE_DEL_USER_FROM_GROUP=y
-CONFIG_GETTY=y
-CONFIG_LOGIN=y
-# CONFIG_PAM is not set
-CONFIG_LOGIN_SCRIPTS=y
-CONFIG_FEATURE_NOLOGIN=y
-# CONFIG_FEATURE_SECURETTY is not set
-CONFIG_PASSWD=y
-CONFIG_FEATURE_PASSWD_WEAK_CHECK=y
-CONFIG_CRYPTPW=y
-CONFIG_CHPASSWD=y
-CONFIG_SU=y
-CONFIG_FEATURE_SU_SYSLOG=y
-CONFIG_FEATURE_SU_CHECKS_SHELLS=y
-CONFIG_SULOGIN=y
-CONFIG_VLOCK=y
-
-#
-# Linux Ext2 FS Progs
-#
-CONFIG_CHATTR=y
-CONFIG_FSCK=y
-CONFIG_LSATTR=y
-CONFIG_TUNE2FS=y
-
-#
-# Linux Module Utilities
-#
-CONFIG_MODINFO=y
-# CONFIG_MODPROBE_SMALL is not set
-# CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE is not set
-# CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED is not set
-CONFIG_INSMOD=y
-CONFIG_RMMOD=y
-CONFIG_LSMOD=y
-CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT=y
-CONFIG_MODPROBE=y
-CONFIG_FEATURE_MODPROBE_BLACKLIST=y
-CONFIG_DEPMOD=y
-
-#
-# Options common to multiple modutils
-#
-CONFIG_FEATURE_2_4_MODULES=y
-# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set
-# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
-CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS=y
-# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
-# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
-# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
-CONFIG_FEATURE_CHECK_TAINTED_MODULE=y
-CONFIG_FEATURE_MODUTILS_ALIAS=y
-CONFIG_FEATURE_MODUTILS_SYMBOLS=y
-CONFIG_DEFAULT_MODULES_DIR="/lib/modules"
-CONFIG_DEFAULT_DEPMOD_FILE="modules.dep"
-
-#
-# Linux System Utilities
-#
-CONFIG_BLOCKDEV=y
-CONFIG_REV=y
-CONFIG_ACPID=y
-CONFIG_FEATURE_ACPID_COMPAT=y
-CONFIG_BLKID=y
-CONFIG_FEATURE_BLKID_TYPE=y
-CONFIG_DMESG=y
-CONFIG_FEATURE_DMESG_PRETTY=y
-CONFIG_FBSET=y
-CONFIG_FEATURE_FBSET_FANCY=y
-CONFIG_FEATURE_FBSET_READMODE=y
-CONFIG_FDFLUSH=y
-CONFIG_FDFORMAT=y
-CONFIG_FDISK=y
-# CONFIG_FDISK_SUPPORT_LARGE_DISKS is not set
-CONFIG_FEATURE_FDISK_WRITABLE=y
-# CONFIG_FEATURE_AIX_LABEL is not set
-# CONFIG_FEATURE_SGI_LABEL is not set
-# CONFIG_FEATURE_SUN_LABEL is not set
-CONFIG_FEATURE_OSF_LABEL=y
-CONFIG_FEATURE_GPT_LABEL=y
-CONFIG_FEATURE_FDISK_ADVANCED=y
-CONFIG_FINDFS=y
-# CONFIG_FLOCK is not set
-CONFIG_FREERAMDISK=y
-CONFIG_FSCK_MINIX=y
-# CONFIG_MKFS_EXT2 is not set
-CONFIG_MKFS_MINIX=y
-CONFIG_FEATURE_MINIX2=y
-# CONFIG_MKFS_REISER is not set
-CONFIG_MKFS_VFAT=y
-CONFIG_GETOPT=y
-CONFIG_FEATURE_GETOPT_LONG=y
-CONFIG_HEXDUMP=y
-CONFIG_FEATURE_HEXDUMP_REVERSE=y
-CONFIG_HD=y
-CONFIG_HWCLOCK=y
-CONFIG_FEATURE_HWCLOCK_LONG_OPTIONS=y
-CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS=y
-CONFIG_IPCRM=y
-CONFIG_IPCS=y
-CONFIG_LOSETUP=y
-CONFIG_LSPCI=y
-CONFIG_LSUSB=y
-CONFIG_MDEV=y
-CONFIG_FEATURE_MDEV_CONF=y
-CONFIG_FEATURE_MDEV_RENAME=y
-CONFIG_FEATURE_MDEV_RENAME_REGEXP=y
-CONFIG_FEATURE_MDEV_EXEC=y
-CONFIG_FEATURE_MDEV_LOAD_FIRMWARE=y
-CONFIG_MKSWAP=y
-CONFIG_FEATURE_MKSWAP_UUID=y
-CONFIG_MORE=y
-CONFIG_MOUNT=y
-CONFIG_FEATURE_MOUNT_FAKE=y
-# CONFIG_FEATURE_MOUNT_VERBOSE is not set
-CONFIG_FEATURE_MOUNT_HELPERS=y
-CONFIG_FEATURE_MOUNT_LABEL=y
-CONFIG_FEATURE_MOUNT_NFS=y
-CONFIG_FEATURE_MOUNT_CIFS=y
-CONFIG_FEATURE_MOUNT_FLAGS=y
-CONFIG_FEATURE_MOUNT_FSTAB=y
-CONFIG_PIVOT_ROOT=y
-CONFIG_RDATE=y
-CONFIG_RDEV=y
-CONFIG_READPROFILE=y
-CONFIG_RTCWAKE=y
-CONFIG_SCRIPT=y
-CONFIG_SCRIPTREPLAY=y
-CONFIG_SETARCH=y
-CONFIG_SWAPONOFF=y
-CONFIG_FEATURE_SWAPON_PRI=y
-CONFIG_SWITCH_ROOT=y
-CONFIG_UMOUNT=y
-CONFIG_FEATURE_UMOUNT_ALL=y
-
-#
-# Common options for mount/umount
-#
-CONFIG_FEATURE_MOUNT_LOOP=y
-CONFIG_FEATURE_MOUNT_LOOP_CREATE=y
-CONFIG_FEATURE_MTAB_SUPPORT=y
-CONFIG_VOLUMEID=y
-
-#
-# Filesystem/Volume identification
-#
-CONFIG_FEATURE_VOLUMEID_EXT=y
-# CONFIG_FEATURE_VOLUMEID_BTRFS is not set
-CONFIG_FEATURE_VOLUMEID_REISERFS=y
-CONFIG_FEATURE_VOLUMEID_FAT=y
-CONFIG_FEATURE_VOLUMEID_HFS=y
-CONFIG_FEATURE_VOLUMEID_JFS=y
-CONFIG_FEATURE_VOLUMEID_XFS=y
-CONFIG_FEATURE_VOLUMEID_NTFS=y
-CONFIG_FEATURE_VOLUMEID_ISO9660=y
-CONFIG_FEATURE_VOLUMEID_UDF=y
-CONFIG_FEATURE_VOLUMEID_LUKS=y
-CONFIG_FEATURE_VOLUMEID_LINUXSWAP=y
-CONFIG_FEATURE_VOLUMEID_CRAMFS=y
-CONFIG_FEATURE_VOLUMEID_ROMFS=y
-CONFIG_FEATURE_VOLUMEID_SYSV=y
-# CONFIG_FEATURE_VOLUMEID_OCFS2 is not set
-CONFIG_FEATURE_VOLUMEID_LINUXRAID=y
-
-#
-# Miscellaneous Utilities
-#
-# CONFIG_CONSPY is not set
-CONFIG_LESS=y
-CONFIG_FEATURE_LESS_MAXLINES=9999999
-CONFIG_FEATURE_LESS_BRACKETS=y
-CONFIG_FEATURE_LESS_FLAGS=y
-CONFIG_FEATURE_LESS_MARKS=y
-CONFIG_FEATURE_LESS_REGEXP=y
-CONFIG_FEATURE_LESS_WINCH=y
-CONFIG_FEATURE_LESS_ASK_TERMINAL=y
-CONFIG_FEATURE_LESS_DASHCMD=y
-CONFIG_FEATURE_LESS_LINENUMS=y
-# CONFIG_NANDWRITE is not set
-# CONFIG_NANDDUMP is not set
-CONFIG_SETSERIAL=y
-# CONFIG_UBIATTACH is not set
-# CONFIG_UBIDETACH is not set
-# CONFIG_UBIMKVOL is not set
-# CONFIG_UBIRMVOL is not set
-# CONFIG_UBIRSVOL is not set
-# CONFIG_UBIUPDATEVOL is not set
-CONFIG_ADJTIMEX=y
-CONFIG_BBCONFIG=y
-CONFIG_FEATURE_COMPRESS_BBCONFIG=y
-CONFIG_BEEP=y
-CONFIG_FEATURE_BEEP_FREQ=4000
-CONFIG_FEATURE_BEEP_LENGTH_MS=30
-CONFIG_CHAT=y
-CONFIG_FEATURE_CHAT_NOFAIL=y
-# CONFIG_FEATURE_CHAT_TTY_HIFI is not set
-CONFIG_FEATURE_CHAT_IMPLICIT_CR=y
-# CONFIG_FEATURE_CHAT_SWALLOW_OPTS is not set
-# CONFIG_FEATURE_CHAT_SEND_ESCAPES is not set
-# CONFIG_FEATURE_CHAT_VAR_ABORT_LEN is not set
-# CONFIG_FEATURE_CHAT_CLR_ABORT is not set
-CONFIG_CHRT=y
-CONFIG_CROND=y
-CONFIG_FEATURE_CROND_D=y
-# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
-CONFIG_FEATURE_CROND_DIR="/var/spool/cron"
-CONFIG_CRONTAB=y
-CONFIG_DC=y
-CONFIG_FEATURE_DC_LIBM=y
-# CONFIG_DEVFSD is not set
-# CONFIG_DEVFSD_MODLOAD is not set
-# CONFIG_DEVFSD_FG_NP is not set
-# CONFIG_DEVFSD_VERBOSE is not set
-# CONFIG_FEATURE_DEVFS is not set
-CONFIG_DEVMEM=y
-CONFIG_EJECT=y
-CONFIG_FEATURE_EJECT_SCSI=y
-CONFIG_FBSPLASH=y
-# CONFIG_FLASHCP is not set
-CONFIG_FLASH_LOCK=y
-CONFIG_FLASH_UNLOCK=y
-CONFIG_FLASH_ERASEALL=y
-CONFIG_IONICE=y
-CONFIG_INOTIFYD=y
-CONFIG_LAST=y
-CONFIG_FEATURE_LAST_SMALL=y
-# CONFIG_FEATURE_LAST_FANCY is not set
-CONFIG_HDPARM=y
-CONFIG_FEATURE_HDPARM_GET_IDENTITY=y
-CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF=y
-CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF=y
-CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET=y
-CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF=y
-CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA=y
-CONFIG_MAKEDEVS=y
-# CONFIG_FEATURE_MAKEDEVS_LEAF is not set
-CONFIG_FEATURE_MAKEDEVS_TABLE=y
-# CONFIG_MAN is not set
-# CONFIG_MICROCOM is not set
-CONFIG_MOUNTPOINT=y
-CONFIG_MT=y
-CONFIG_RAIDAUTORUN=y
-CONFIG_READAHEAD=y
-# CONFIG_RFKILL is not set
-CONFIG_RUNLEVEL=y
-CONFIG_RX=y
-CONFIG_SETSID=y
-CONFIG_STRINGS=y
-CONFIG_TASKSET=y
-CONFIG_FEATURE_TASKSET_FANCY=y
-CONFIG_TIME=y
-CONFIG_TIMEOUT=y
-CONFIG_TTYSIZE=y
-CONFIG_VOLNAME=y
-# CONFIG_WALL is not set
-CONFIG_WATCHDOG=y
-
-#
-# Networking Utilities
-#
-CONFIG_NAMEIF=y
-# CONFIG_FEATURE_NAMEIF_EXTENDED is not set
-CONFIG_NBDCLIENT=y
-CONFIG_NC=y
-CONFIG_NC_SERVER=y
-CONFIG_NC_EXTRA=y
-# CONFIG_NC_110_COMPAT is not set
-CONFIG_PING=y
-CONFIG_PING6=y
-CONFIG_FEATURE_FANCY_PING=y
-# CONFIG_WHOIS is not set
-CONFIG_FEATURE_IPV6=y
-CONFIG_FEATURE_UNIX_LOCAL=y
-CONFIG_FEATURE_PREFER_IPV4_ADDRESS=y
-# CONFIG_VERBOSE_RESOLUTION_ERRORS is not set
-CONFIG_ARP=y
-CONFIG_ARPING=y
-CONFIG_BRCTL=y
-# CONFIG_FEATURE_BRCTL_FANCY is not set
-# CONFIG_FEATURE_BRCTL_SHOW is not set
-CONFIG_DNSD=y
-CONFIG_ETHER_WAKE=y
-CONFIG_FAKEIDENTD=y
-CONFIG_FTPD=y
-CONFIG_FEATURE_FTP_WRITE=y
-CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST=y
-CONFIG_FTPGET=y
-CONFIG_FTPPUT=y
-CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS=y
-CONFIG_HOSTNAME=y
-# CONFIG_HTTPD is not set
-# CONFIG_FEATURE_HTTPD_RANGES is not set
-# CONFIG_FEATURE_HTTPD_USE_SENDFILE is not set
-# CONFIG_FEATURE_HTTPD_SETUID is not set
-# CONFIG_FEATURE_HTTPD_BASIC_AUTH is not set
-# CONFIG_FEATURE_HTTPD_AUTH_MD5 is not set
-# CONFIG_FEATURE_HTTPD_CGI is not set
-# CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR is not set
-# CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV is not set
-# CONFIG_FEATURE_HTTPD_ENCODE_URL_STR is not set
-# CONFIG_FEATURE_HTTPD_ERROR_PAGES is not set
-# CONFIG_FEATURE_HTTPD_PROXY is not set
-# CONFIG_FEATURE_HTTPD_GZIP is not set
-CONFIG_IFCONFIG=y
-CONFIG_FEATURE_IFCONFIG_STATUS=y
-CONFIG_FEATURE_IFCONFIG_SLIP=y
-CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ=y
-CONFIG_FEATURE_IFCONFIG_HW=y
-CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
-CONFIG_IFENSLAVE=y
-CONFIG_IFPLUGD=y
-CONFIG_IFUPDOWN=y
-CONFIG_IFUPDOWN_IFSTATE_PATH="/var/run/ifstate"
-CONFIG_FEATURE_IFUPDOWN_IP=y
-CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN=y
-# CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN is not set
-CONFIG_FEATURE_IFUPDOWN_IPV4=y
-CONFIG_FEATURE_IFUPDOWN_IPV6=y
-CONFIG_FEATURE_IFUPDOWN_MAPPING=y
-CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP=y
-# CONFIG_INETD is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_ECHO is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_TIME is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME is not set
-# CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN is not set
-# CONFIG_FEATURE_INETD_RPC is not set
-CONFIG_IP=y
-CONFIG_FEATURE_IP_ADDRESS=y
-CONFIG_FEATURE_IP_LINK=y
-CONFIG_FEATURE_IP_ROUTE=y
-CONFIG_FEATURE_IP_TUNNEL=y
-CONFIG_FEATURE_IP_RULE=y
-CONFIG_FEATURE_IP_SHORT_FORMS=y
-# CONFIG_FEATURE_IP_RARE_PROTOCOLS is not set
-CONFIG_IPADDR=y
-CONFIG_IPLINK=y
-CONFIG_IPROUTE=y
-CONFIG_IPTUNNEL=y
-CONFIG_IPRULE=y
-CONFIG_IPCALC=y
-CONFIG_FEATURE_IPCALC_FANCY=y
-CONFIG_FEATURE_IPCALC_LONG_OPTIONS=y
-CONFIG_NETSTAT=y
-# CONFIG_FEATURE_NETSTAT_WIDE is not set
-CONFIG_FEATURE_NETSTAT_PRG=y
-CONFIG_NSLOOKUP=y
-# CONFIG_NTPD is not set
-# CONFIG_FEATURE_NTPD_SERVER is not set
-CONFIG_PSCAN=y
-CONFIG_ROUTE=y
-CONFIG_SLATTACH=y
-CONFIG_TCPSVD=y
-CONFIG_TELNET=y
-CONFIG_FEATURE_TELNET_TTYPE=y
-CONFIG_FEATURE_TELNET_AUTOLOGIN=y
-CONFIG_TELNETD=y
-CONFIG_FEATURE_TELNETD_STANDALONE=y
-# CONFIG_FEATURE_TELNETD_INETD_WAIT is not set
-CONFIG_TFTP=y
-# CONFIG_TFTPD is not set
-
-#
-# Common options for tftp/tftpd
-#
-CONFIG_FEATURE_TFTP_GET=y
-CONFIG_FEATURE_TFTP_PUT=y
-CONFIG_FEATURE_TFTP_BLOCKSIZE=y
-CONFIG_FEATURE_TFTP_PROGRESS_BAR=y
-CONFIG_TFTP_DEBUG=y
-CONFIG_TRACEROUTE=y
-CONFIG_TRACEROUTE6=y
-# CONFIG_FEATURE_TRACEROUTE_VERBOSE is not set
-# CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE is not set
-# CONFIG_FEATURE_TRACEROUTE_USE_ICMP is not set
-CONFIG_TUNCTL=y
-CONFIG_FEATURE_TUNCTL_UG=y
-# CONFIG_UDHCPD is not set
-# CONFIG_DHCPRELAY is not set
-# CONFIG_DUMPLEASES is not set
-# CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY is not set
-# CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC is not set
-CONFIG_DHCPD_LEASES_FILE=""
-# CONFIG_UDHCPC is not set
-# CONFIG_FEATURE_UDHCPC_ARPING is not set
-# CONFIG_FEATURE_UDHCP_PORT is not set
-CONFIG_UDHCP_DEBUG=0
-# CONFIG_FEATURE_UDHCP_RFC3397 is not set
-# CONFIG_FEATURE_UDHCP_8021Q is not set
-CONFIG_UDHCPC_DEFAULT_SCRIPT=""
-CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS=0
-CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS=""
-CONFIG_UDPSVD=y
-CONFIG_VCONFIG=y
-CONFIG_WGET=y
-CONFIG_FEATURE_WGET_STATUSBAR=y
-CONFIG_FEATURE_WGET_AUTHENTICATION=y
-CONFIG_FEATURE_WGET_LONG_OPTIONS=y
-CONFIG_FEATURE_WGET_TIMEOUT=y
-CONFIG_ZCIP=y
-
-#
-# Print Utilities
-#
-# CONFIG_LPD is not set
-CONFIG_LPR=y
-# CONFIG_LPQ is not set
-
-#
-# Mail Utilities
-#
-CONFIG_MAKEMIME=y
-CONFIG_FEATURE_MIME_CHARSET="us-ascii"
-CONFIG_POPMAILDIR=y
-CONFIG_FEATURE_POPMAILDIR_DELIVERY=y
-CONFIG_REFORMIME=y
-CONFIG_FEATURE_REFORMIME_COMPAT=y
-# CONFIG_SENDMAIL is not set
-
-#
-# Process Utilities
-#
-CONFIG_IOSTAT=y
-CONFIG_MPSTAT=y
-CONFIG_NMETER=y
-CONFIG_PMAP=y
-CONFIG_POWERTOP=y
-# CONFIG_PSTREE is not set
-# CONFIG_PWDX is not set
-# CONFIG_SMEMCAP is not set
-CONFIG_UPTIME=y
-# CONFIG_FEATURE_UPTIME_UTMP_SUPPORT is not set
-CONFIG_FREE=y
-CONFIG_FUSER=y
-CONFIG_KILL=y
-CONFIG_KILLALL=y
-CONFIG_KILLALL5=y
-CONFIG_PGREP=y
-CONFIG_PIDOF=y
-CONFIG_FEATURE_PIDOF_SINGLE=y
-CONFIG_FEATURE_PIDOF_OMIT=y
-CONFIG_PKILL=y
-CONFIG_PS=y
-CONFIG_FEATURE_PS_WIDE=y
-CONFIG_FEATURE_PS_TIME=y
-CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS=y
-# CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS is not set
-CONFIG_RENICE=y
-CONFIG_BB_SYSCTL=y
-CONFIG_TOP=y
-CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE=y
-CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS=y
-CONFIG_FEATURE_TOP_SMP_CPU=y
-CONFIG_FEATURE_TOP_DECIMALS=y
-CONFIG_FEATURE_TOP_SMP_PROCESS=y
-CONFIG_FEATURE_TOPMEM=y
-CONFIG_FEATURE_SHOW_THREADS=y
-CONFIG_WATCH=y
-
-#
-# Runit Utilities
-#
-CONFIG_RUNSV=y
-CONFIG_RUNSVDIR=y
-CONFIG_FEATURE_RUNSVDIR_LOG=y
-CONFIG_SV=y
-CONFIG_SV_DEFAULT_SERVICE_DIR="/var/service"
-CONFIG_SVLOGD=y
-CONFIG_CHPST=y
-CONFIG_SETUIDGID=y
-CONFIG_ENVUIDGID=y
-CONFIG_ENVDIR=y
-CONFIG_SOFTLIMIT=y
-# CONFIG_CHCON is not set
-# CONFIG_FEATURE_CHCON_LONG_OPTIONS is not set
-# CONFIG_GETENFORCE is not set
-# CONFIG_GETSEBOOL is not set
-# CONFIG_LOAD_POLICY is not set
-# CONFIG_MATCHPATHCON is not set
-# CONFIG_RESTORECON is not set
-# CONFIG_RUNCON is not set
-# CONFIG_FEATURE_RUNCON_LONG_OPTIONS is not set
-# CONFIG_SELINUXENABLED is not set
-# CONFIG_SETENFORCE is not set
-# CONFIG_SETFILES is not set
-# CONFIG_FEATURE_SETFILES_CHECK_OPTION is not set
-# CONFIG_SETSEBOOL is not set
-# CONFIG_SESTATUS is not set
-
-#
-# Shells
-#
-CONFIG_ASH=y
-CONFIG_ASH_BASH_COMPAT=y
-# CONFIG_ASH_IDLE_TIMEOUT is not set
-CONFIG_ASH_JOB_CONTROL=y
-CONFIG_ASH_ALIAS=y
-CONFIG_ASH_GETOPTS=y
-CONFIG_ASH_BUILTIN_ECHO=y
-CONFIG_ASH_BUILTIN_PRINTF=y
-CONFIG_ASH_BUILTIN_TEST=y
-CONFIG_ASH_CMDCMD=y
-CONFIG_ASH_MAIL=y
-CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
-CONFIG_ASH_RANDOM_SUPPORT=y
-CONFIG_ASH_EXPAND_PRMT=y
-CONFIG_CTTYHACK=y
-# CONFIG_HUSH is not set
-# CONFIG_HUSH_BASH_COMPAT is not set
-# CONFIG_HUSH_BRACE_EXPANSION is not set
-# CONFIG_HUSH_HELP is not set
-# CONFIG_HUSH_INTERACTIVE is not set
-# CONFIG_HUSH_SAVEHISTORY is not set
-# CONFIG_HUSH_JOB is not set
-# CONFIG_HUSH_TICK is not set
-# CONFIG_HUSH_IF is not set
-# CONFIG_HUSH_LOOPS is not set
-# CONFIG_HUSH_CASE is not set
-# CONFIG_HUSH_FUNCTIONS is not set
-# CONFIG_HUSH_LOCAL is not set
-# CONFIG_HUSH_RANDOM_SUPPORT is not set
-# CONFIG_HUSH_EXPORT_N is not set
-# CONFIG_HUSH_MODE_X is not set
-# CONFIG_MSH is not set
-CONFIG_FEATURE_SH_IS_ASH=y
-# CONFIG_FEATURE_SH_IS_HUSH is not set
-# CONFIG_FEATURE_SH_IS_NONE is not set
-# CONFIG_FEATURE_BASH_IS_ASH is not set
-# CONFIG_FEATURE_BASH_IS_HUSH is not set
-CONFIG_FEATURE_BASH_IS_NONE=y
-CONFIG_SH_MATH_SUPPORT=y
-CONFIG_SH_MATH_SUPPORT_64=y
-CONFIG_FEATURE_SH_EXTRA_QUIET=y
-# CONFIG_FEATURE_SH_STANDALONE is not set
-# CONFIG_FEATURE_SH_NOFORK is not set
-CONFIG_FEATURE_SH_HISTFILESIZE=y
-
-#
-# System Logging Utilities
-#
-CONFIG_SYSLOGD=y
-CONFIG_FEATURE_ROTATE_LOGFILE=y
-CONFIG_FEATURE_REMOTE_LOG=y
-# CONFIG_FEATURE_SYSLOGD_DUP is not set
-# CONFIG_FEATURE_SYSLOGD_CFG is not set
-CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE=256
-CONFIG_FEATURE_IPC_SYSLOG=y
-CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE=16
-CONFIG_LOGREAD=y
-CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING=y
-CONFIG_KLOGD=y
-CONFIG_FEATURE_KLOGD_KLOGCTL=y
-CONFIG_LOGGER=y
diff --git a/source/a/mkinitrd/busybox-dot-config.1.20.x b/source/a/mkinitrd/busybox-dot-config.1.20.x
index 3184ac281..93a4ea8d9 100644
--- a/source/a/mkinitrd/busybox-dot-config.1.20.x
+++ b/source/a/mkinitrd/busybox-dot-config.1.20.x
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
-# Busybox version: 1.20.1
-# Tue Jun 12 09:42:03 2012
+# Busybox version: 1.20.2
+# Wed Jun 8 14:48:15 2016
#
CONFIG_HAVE_DOT_CONFIG=y
@@ -509,10 +509,10 @@ CONFIG_DEPMOD=y
#
# Options common to multiple modutils
#
-CONFIG_FEATURE_2_4_MODULES=y
+# CONFIG_FEATURE_2_4_MODULES is not set
# CONFIG_FEATURE_INSMOD_TRY_MMAP is not set
# CONFIG_FEATURE_INSMOD_VERSION_CHECKING is not set
-CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS=y
+# CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS is not set
# CONFIG_FEATURE_INSMOD_LOADINKMEM is not set
# CONFIG_FEATURE_INSMOD_LOAD_MAP is not set
# CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL is not set
diff --git a/source/a/mkinitrd/init b/source/a/mkinitrd/init
index b31eb0e4c..0ee012980 100755
--- a/source/a/mkinitrd/init
+++ b/source/a/mkinitrd/init
@@ -111,7 +111,7 @@ for ARG in $(cat /proc/cmdline); do
RESCUE=1
;;
resume=*)
- RESUMEDEV=$(echo $ARG | cut -f2 -d=)
+ RESUMEDEV=$(echo $ARG | cut -f2- -d=)
;;
root=/dev/*)
ROOTDEV=$(echo $ARG | cut -f2 -d=)
@@ -193,9 +193,10 @@ if [ "$RESCUE" = "" ]; then
if [ ! -z "$LUKSKEY" ]; then
mkdir /mountkey
KEYPART=$(echo $LUKSKEY |cut -f1 -d:)
+ KEYNAME=$(echo $KEYPART |cut -f2 -d=)
LUKSPATH="/mountkey$(echo $LUKSKEY |cut -f2 -d:)"
# Catch possible mount failure:
- if blkid -t TYPE=vfat $KEYPART 1>/dev/null 2>&1 ; then
+ if blkid |grep "TYPE=\"vfat\"" |grep $KEYNAME 1>/dev/null 2>&1 ; then
MOUNTOPTS="-t vfat -o shortname=mixed"
else
MOUNTOPTS="-t auto"
@@ -283,8 +284,11 @@ if [ "$RESCUE" = "" ]; then
# Resume state from swap
if [ "$RESUMEDEV" != "" ]; then
- if ls -l $RESUMEDEV | grep -q "^l" ; then
- #RESUMEDEV=$(ls -l $RESUMEDEV | awk '{ print $NF }')
+ # Find resume device if a label or UUID was given:
+ if echo $RESUMEDEV | grep -q "LABEL=" || \
+ echo $RESUMEDEV | grep -q "UUID=" ; then
+ RESUMEDEV=$(findfs $RESUMEDEV)
+ elif ls -l $RESUMEDEV | grep -q "^l" ; then
RESUMEDEV=$(readlink -f $RESUMEDEV)
fi
echo "Trying to resume from $RESUMEDEV"
diff --git a/source/a/mkinitrd/mkinitrd b/source/a/mkinitrd/mkinitrd
index fdc269348..96e0e388d 100644
--- a/source/a/mkinitrd/mkinitrd
+++ b/source/a/mkinitrd/mkinitrd
@@ -1,7 +1,7 @@
#!/bin/sh
# Copyright 2004 Slackware Linux, Inc., Concord, CA, USA
# Copyright 2004 Patrick J. Volkerding, Concord, CA, USA
-# Copyright 2007, 2008, 2009, 2010, 2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2007, 2008, 2009, 2010, 2011, 2015, 2016 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -50,9 +50,12 @@ MKINITRD_VERSION=1.4.8
# Don't include these things from /lib/udev/ in the initrd image
LIBUDEV_BLACKLIST="\
ipod-set-info \
+ iphone-set-info \
check-mtp-device \
check-ptp-camera \
- udev-configure-printer"
+ udev-configure-printer \
+ rules.d/60-openobex.rules \
+ "
print_usage() {
cat << EOF
@@ -292,7 +295,7 @@ fi # default no-option actions
# Parse for the use config file option first or else the other command
# line options can not override /etc/mkinitrd.conf.
for opt in "$@"; do
- if [ $opt = "-F" ]; then
+ if [ "$opt" = "-F" ]; then
if [ -e /etc/mkinitrd.conf ]; then
. /etc/mkinitrd.conf || badconf_file
else
@@ -466,7 +469,7 @@ if [ ! -z "$LUKSKEY" ]; then
# Several extra modules are needed to support a vfat formatted USB stick...
# assuming here we are using a western codepage.
# This possibly adds doublures, but we clean up the MODULE_LIST further down!
- MODULE_LIST="${MODULE_LIST}:ehci-hcd:uhci-hcd:usb-storage:hid:usbhid:fat:nls_cp437:nls_iso8859-1:msdos:vfat"
+ MODULE_LIST="${MODULE_LIST}:xhci-pci:ohci-pci:ehci-pci:xhci-hcd:ohci-hcd:ehci-hcd:uhci-hcd:usb-storage:hid:usbhid:fat:nls_cp437:nls_iso8859-1:msdos:vfat"
# Finally, write the lukskey to the initrd-tree:
echo $LUKSKEY > $SOURCE_TREE/lukskey
diff --git a/source/a/mkinitrd/mkinitrd.SlackBuild b/source/a/mkinitrd/mkinitrd.SlackBuild
index 4683a17f4..8983f34d4 100755
--- a/source/a/mkinitrd/mkinitrd.SlackBuild
+++ b/source/a/mkinitrd/mkinitrd.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2007, 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2015, 2016 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,12 +23,12 @@
VERSION=${VERSION:-1.4.8}
BB=1.20.2
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-8}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 ) ;;
@@ -107,8 +107,9 @@ chown root:root $PKG/sbin/mkinitrd
chmod 755 $PKG/sbin/mkinitrd
mkdir -p $PKG/usr/man/man{5,8}
-cat $CWD/mkinitrd.8 | gzip -9c > $PKG/usr/man/man8/mkinitrd.8.gz
cat $CWD/mkinitrd.conf.5 | gzip -9c > $PKG/usr/man/man5/mkinitrd.conf.5.gz
+cat $CWD/mkinitrd.8 | gzip -9c > $PKG/usr/man/man8/mkinitrd.8.gz
+cat $CWD/mkinitrd_command_generator.8 | gzip -9c > $PKG/usr/man/man8/mkinitrd_command_generator.8.gz
mkdir -p $PKG/etc
cp -a $CWD/mkinitrd.conf.sample $PKG/etc/mkinitrd.conf.sample
diff --git a/source/a/mkinitrd/mkinitrd_command_generator.8 b/source/a/mkinitrd/mkinitrd_command_generator.8
new file mode 100644
index 000000000..954fab484
--- /dev/null
+++ b/source/a/mkinitrd/mkinitrd_command_generator.8
@@ -0,0 +1,187 @@
+'\" t
+.\" Title: mkinitrd_command_generator
+.\" Author: Eric Hameleers
+.\" Generator: DocBook XSL Stylesheets v1.78.1 <http://docbook.sf.net/>
+.\" Date: 2016-02-07
+.\" Manual: Slackware Tools
+.\" Source: http://www.slackware.com 1.40
+.\" Language: English
+.\"
+.TH "MKINITRD_COMMAND_GEN" "8" "2016-02-07" "http://www\&.slackware\&.com" "Slackware Tools"
+.\" -----------------------------------------------------------------
+.\" * Define some portability stuff
+.\" -----------------------------------------------------------------
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.\" http://bugs.debian.org/507673
+.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
+.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\" -----------------------------------------------------------------
+.\" * set default formatting
+.\" -----------------------------------------------------------------
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.\" -----------------------------------------------------------------
+.\" * MAIN CONTENT STARTS HERE *
+.\" -----------------------------------------------------------------
+.SH "NAME"
+mkinitrd_command_generator \- mkinitrd the easy way
+.SH "SYNOPSIS"
+.sp
+.nf
+mkinitrd_command_generator\&.sh [ \fIoptions\fR ] [ \fIkernel_filename\fR ]
+.fi
+.SH "OPTIONS"
+.PP
+\fB\-a \fR\fB\fIadditional params\fR\fR
+.RS 4
+Additional parameters to pass to mkinitrd\&.
+.RE
+.PP
+\fB\-c | \-\-conf\fR
+.RS 4
+Show a suitable mkinitrd configuration file\&.
+.RE
+.PP
+\fB\-h | \-\-help\fR
+.RS 4
+Show this help\&.
+.RE
+.PP
+\fB\-i | \-\-interactive\fR
+.RS 4
+Navigate through menus instead of using commandline arguments\&.
+.RE
+.PP
+\fB\-\-longhelp\fR
+.RS 4
+Show more detailed information/examples\&.
+.RE
+.PP
+\fB\-k \fR\fB\fIkernelversion\fR\fR
+.RS 4
+Use specific kernel version\&.
+.RE
+.PP
+\fB\-m \fR\fB\fIadditional mods\fR\fR
+.RS 4
+Additional modules to pass to mkinitrd, separated by colons (:)\&.
+.RE
+.PP
+\fB\-l | \-\-lilo\fR
+.RS 4
+Only show lilo\&.conf section (requires a kernel_filename)\&.
+.RE
+.PP
+\fB\-r | \-\-run\fR
+.RS 4
+Only show
+\fImkinitrd\fR
+command\&.
+.RE
+.SH "DESCRIPTION"
+.sp
+This script is useful in situations where you require an initrd image to boot your computer\&.
+.sp
+For instance, when booting a kernel that does not have support for your storage or root filesystem built in (such as the Slackware \fIgeneric\fR kernels)\&.
+.sp
+When you run the script without parameters, it will examine your running system, your current kernel version and will output an example of a \fImkinitrd\fR commandline that you can use to generate an initrd image containing enough driver support to boot the computer\&.
+.sp
+You can make it more specific: when you add the filename of a kernel as parameter to the script, it will determine the kernel version from that kernel, and also give an example of the lines that you should add to your \fI/etc/lilo\&.conf\fR file\&.
+.sp
+If you want your initrd image to have a custom name instead of the default \fI/boot/initrd\&.gz\fR you can add it as another parameter to the script, as follows:
+.sp
+mkinitrd_command_generator\&.sh \-a "\-o \fI/boot/custom\&.gz\fR"
+.sp
+The arguments to the \fI\-a\fR parameter will be used as additional arguments to the \fImkinitrd\fR command\&.
+.sp
+If you need additional modules in the initrd image, apart from what the script determines, you can pass then to the script using the \fI\-m\fR parameter as follows:
+.sp
+mkinitrd_command_generator\&.sh \-m "uhci\-hcd:usbhid:hid:hid\-generic"
+.sp
+The above example adds support for USB keyboards to the initrd \- you may need that if you have encrypted your root partition and need to enter a passphrase using a USB keyboard\&.
+.sp
+Instead of copying and pasting the script\(cqs output, you can create an initrd by directly executing the output, like in this example:
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+$(mkinitrd_command_generator\&.sh \-\-run /boot/vmlinuz\-generic\-4\&.4\&.1)
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+That used the \fI\-r\fR or \fI\-\-run\fR switch to make the script only write the \fImkinitrd\fR commandline to the terminal\&.
+.sp
+When you want to add a section for a specific kernel to \fI/etc/lilo\&.conf\fR directly, use the \fI\-l\fR or \fI\-\-lilo\fR switch and use a command like in this example:
+.sp
+mkinitrd_command_generator\&.sh \-\-lilo /boot/vmlinuz\-generic\-smp\-4\&.4\&.1 >>/etc/lilo\&.conf
+.sp
+That command will result in the following lines being added to your \fI/etc/lilo\&.conf\fR file (example for my hardware):
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\fI# Linux bootable partition config begins\fR
+\fI# initrd created with \*(Aqmkinitrd \-c \-k 4\&.4\&.1 \-m mbcache:jbd2:ext4 \-f ext4 \-r /dev/sda7 \-u \-o /boot/initrd\&.gz\fR\*(Aq
+image = /boot/vmlinuz\-generic\-4\&.4\&.1
+initrd = /boot/initrd\&.gz
+root = /dev/sda7
+label = 4\&.4\&.1
+read\-only
+\fI# Linux bootable partition config ends\fR
+.fi
+.if n \{\
+.RE
+.\}
+.sp
+The last two examples show how easy it is to configure your computer for the use of an initrd if you need one\&. The only thing left to do afterwards is running \fIlilo\fR\&.
+.SH "EXIT STATUS"
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+\fB0\fR Success
+\fB1\fR Failure
+.fi
+.if n \{\
+.RE
+.\}
+.SH "FILES"
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+/usr/share/mkinitrd/mkinitrd_command_generator\&.sh
+.fi
+.if n \{\
+.RE
+.\}
+.SH "BUGS"
+.sp
+Report bugs to Eric Hameleers <alien@slackware\&.com>
+.SH "SEE ALSO"
+.sp
+.if n \{\
+.RS 4
+.\}
+.nf
+mkinitrd(1), lilo\&.conf(1)
+.fi
+.if n \{\
+.RE
+.\}
+.SH "AUTHOR"
+.PP
+\fBEric Hameleers\fR
+.RS 4
+Author.
+.RE
diff --git a/source/a/mkinitrd/mkinitrd_command_generator.sh b/source/a/mkinitrd/mkinitrd_command_generator.sh
index 16893b05b..33d9c9de3 100644
--- a/source/a/mkinitrd/mkinitrd_command_generator.sh
+++ b/source/a/mkinitrd/mkinitrd_command_generator.sh
@@ -225,7 +225,7 @@ function add_usb_keyboard() {
local USBMOD
if cat /proc/bus/input/devices | sed -e 's/^$/\$/g' | \
tr "\n$" " \n" | grep -q " Phys=.*usb.* .*Handlers=.*kbd.*B:"; then
- USBMOD="usbhid:hid_generic"
+ USBMOD="xhci-pci:ohci-pci:ehci-pci:xhci-hcd:uhci-hcd:ehci-hcd:hid:usbhid:i2c-hid:hid_generic:hid-cherry:hid-logitech:hid-logitech-dj:hid-logitech-hidpp:hid-lenovo:hid-microsoft:hid_multitouch"
[ -n "$MLIST" ] && MLIST="$MLIST:$USBMOD" \
|| MLIST="$USBMOD"
fi
@@ -235,7 +235,7 @@ function add_usb_keyboard() {
# Determine what USB Host Controller is in use
function add_usb_hcd() {
local USBMOD
- for i in $(ls -Ld /sys/module/*_hcd/drivers/*); do
+ for i in $(ls -Ld /sys/module/*_hcd/drivers/* 2> /dev/null); do
if ls -L $i | grep -q "[0-9a-f]*:" ; then
USBMOD=$( echo $i | cut -f4 -d/ | tr "_" "-")
[ -n "$MLIST" ] && MLIST="$MLIST:$USBMOD" \
@@ -409,7 +409,7 @@ fi
# and check if modules for this kernel are actually present:
if [ -z "$KVER" ]; then
if [ -n "$KFILE" ]; then
- KVER="$(strings $KFILE | grep '(.*@.*) #' | cut -f1 -d' ')"
+ KVER="$(strings $KFILE | grep '([^ ]*@[^ ]*) #' | cut -f1 -d' ')"
else
KVER="$(uname -r)"
fi
diff --git a/source/a/ncompress/ncompress.SlackBuild b/source/a/ncompress/ncompress.SlackBuild
index ba6f38d5c..871df2423 100755
--- a/source/a/ncompress/ncompress.SlackBuild
+++ b/source/a/ncompress/ncompress.SlackBuild
@@ -20,13 +20,13 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=4.2.4.3
+VERSION=4.2.4.4
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 ) ;;
@@ -37,9 +37,22 @@ CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-ncompress
+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
+
rm -rf $PKG
mkdir -p $TMP $PKG
-
cd $TMP
rm -rf ncompress-${VERSION}
tar xzf $CWD/ncompress-${VERSION}.tar.gz
@@ -51,23 +64,26 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-make ENDIAN=4321 || exit 1
+make CFLAGS="$SLKCFLAGS" || exit 1
+
mkdir -p $PKG/usr/bin
cat compress > $PKG/usr/bin/compress
chmod 755 $PKG/usr/bin/compress
-( cd $PKG/usr/bin ; ln -sf compress uncompress )
+ln -s compress $PKG/usr/bin/uncompress
+
mkdir $PKG/bin
-( cd $PKG/bin ; ln -sf /usr/bin/compress compress )
-( cd $PKG/bin ; ln -sf compress uncompress )
+ln -s /usr/bin/compress $PKG/bin/compress
+ln -s compress $PKG/bin/uncompress
+
mkdir -p $PKG/usr/man/man1
-cat compress.1 | gzip -9c > $PKG/usr/man/man1/compress.1.gz
+gzip -9c compress.1 > $PKG/usr/man/man1/compress.1.gz
echo '.so man1/compress.1' | gzip -9c > $PKG/usr/man/man1/uncompress.1.gz
+
mkdir -p $PKG/usr/doc/ncompress-${VERSION}
cp -a \
- Acknowleds LZW.INFO README \
+ Acknowleds Changes LZW.INFO README \
$PKG/usr/doc/ncompress-${VERSION}
-# Strip everything for good measure:
( cd $PKG
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
@@ -76,7 +92,6 @@ cp -a \
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
-# Build the package:
cd $PKG
-makepkg -l y -c n $TMP/ncompress-$VERSION-$ARCH-$BUILD.txz
+/sbin/makepkg -l y -c n $TMP/ncompress-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/a/ntfs-3g/ntfs-3g.SlackBuild b/source/a/ntfs-3g/ntfs-3g.SlackBuild
index ca5c46e50..bf4f028ca 100755
--- a/source/a/ntfs-3g/ntfs-3g.SlackBuild
+++ b/source/a/ntfs-3g/ntfs-3g.SlackBuild
@@ -3,7 +3,7 @@
# Slackware build script for ntfs-3g
# Copyright 2008 Antonio Hernandez Blas <hba.nihilismus@gmail.com>
-# Copyright 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2012, 2013, 2015, 2016 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
@@ -27,24 +27,24 @@
# Modified by Eric Hameleers <alien@slackware.com>
PKGNAM=ntfs-3g
-VERSION=2013.1.13
+SRCNAM=ntfs-3g_ntfsprogs
+VERSION=${VERSION:-$(echo $SRCNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
-SRCNAM=ntfs-3g_ntfsprogs
NUMJOBS=${NUMJOBS:-" -j7 "}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
@@ -90,6 +90,10 @@ CXXFLAGS="$SLKCFLAGS" \
|| exit 1
make $NUMJOBS || make || exit 1
+
+# Installation bug kludge:
+mkdir -p $PKG/lib${LIBDIRSUFFIX}
+
make install DESTDIR=$PKG || exit 1
# I hate to do this (it worked without it before), but recently /bin/ntfs-3g
diff --git a/source/a/ntfs-3g/slack-desc b/source/a/ntfs-3g/slack-desc
index 353695bbf..d7308e2ac 100644
--- a/source/a/ntfs-3g/slack-desc
+++ b/source/a/ntfs-3g/slack-desc
@@ -15,5 +15,5 @@ ntfs-3g: Windows Vista file systems. Most POSIX file system operations are
ntfs-3g: supported, with the exception of full file ownership and access
ntfs-3g: rights support.
ntfs-3g:
-ntfs-3g: Homepage for the ntfs-3g project: http://www.ntfs-3g.org
+ntfs-3g: Homepage: http://www.tuxera.com/community/open-source-ntfs-3g/
ntfs-3g:
diff --git a/source/a/os-prober/os-prober.SlackBuild b/source/a/os-prober/os-prober.SlackBuild
index 4e443e68b..a95243268 100755
--- a/source/a/os-prober/os-prober.SlackBuild
+++ b/source/a/os-prober/os-prober.SlackBuild
@@ -28,21 +28,15 @@ BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$(uname -m)" in
- i?86) ARCH=i486 ;;
- arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7lh ;;
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$(uname -m) ;;
esac
export ARCH
fi
-if [ "$ARCH" = "i386" ]; then
- SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i586" ]; then
+if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
@@ -89,7 +83,7 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-make || exit 1
+make CFLAGS="$SLKCFLAGS" || exit 1
mkdir -p $PKG/usr/bin
cp -a linux-boot-prober os-prober $PKG/usr/bin
diff --git a/source/a/patch/patch.281537bcd92515ae3b9f154acd579ce97260f99b.diff b/source/a/patch/patch.281537bcd92515ae3b9f154acd579ce97260f99b.diff
deleted file mode 100644
index b882b725c..000000000
--- a/source/a/patch/patch.281537bcd92515ae3b9f154acd579ce97260f99b.diff
+++ /dev/null
@@ -1,78 +0,0 @@
-From 281537bcd92515ae3b9f154acd579ce97260f99b Mon Sep 17 00:00:00 2001
-From: Andreas Gruenbacher <agruen@linbit.com>
-Date: Thu, 13 Sep 2012 14:13:08 +0000
-Subject: In a git-style diff, make sure not to unlink the original by accident
-
-* src/patch.c (main): Fail if a file is not empty as expected.
-(output_files): In a git-style diff, make sure not to unlink the original when
-making a backup of an unmodified file.
-* tests/create-delete: Fix failed-file-deletion test and add
-successful-file-deletion test.
----
-diff --git a/src/patch.c b/src/patch.c
-index 1c6fb4b..ce81bbe 100644
---- a/src/patch.c
-+++ b/src/patch.c
-@@ -508,6 +508,7 @@ main (int argc, char **argv)
- && ! (merge && somefailed))
- {
- mismatch = true;
-+ somefailed = true;
- if (verbosity != SILENT)
- say ("File %s is not empty after patch, as expected\n",
- quotearg (outname));
-@@ -1865,7 +1866,7 @@ output_files (struct stat const *st)
- output_file_now (file_to_output->from, &from_needs_removal,
- from_st, file_to_output->to,
- file_to_output->mode, file_to_output->backup);
-- if (from_needs_removal)
-+ if (file_to_output->to && from_needs_removal)
- unlink (file_to_output->from);
-
- if (st && st->st_dev == from_st->st_dev && st->st_ino == from_st->st_ino)
-diff --git a/tests/create-delete b/tests/create-delete
-index 9a6e1bb..7eed11f 100644
---- a/tests/create-delete
-+++ b/tests/create-delete
-@@ -176,12 +176,37 @@ EOF
- echo data > target
- cat > p.diff <<EOF
- diff --git a/target b/target
--index 1..0
-+deleted file mode 100644
-+index 1269488..0000000
- EOF
-
- check 'patch -p1 -b < p.diff || echo status: $?' <<EOF
- patching file target
- File target is not empty after patch, as expected
-+status: 1
-+EOF
-+
-+check 'cat target' <<EOF
-+data
-+EOF
-+
-+# Patch creates a backup file even when the original file remains unchanged:
-+check 'cat target.orig' <<EOF
-+data
-+EOF
-+
-+cat > p.diff <<EOF
-+diff --git a/target b/target
-+deleted file mode 100644
-+index 1269488..0000000
-+--- a/target
-++++ /dev/null
-+@@ -1 +0,0 @@
-+-data
-+EOF
-+
-+check 'patch -p1 -b -f < p.diff || echo status: $?' <<EOF
-+patching file target
- EOF
-
- ncheck 'test ! -e target'
---
-cgit v0.9.0.2
-
diff --git a/source/a/patch/patch.99f2638763845d8173a0c9f9209ac2b4be947165.diff b/source/a/patch/patch.99f2638763845d8173a0c9f9209ac2b4be947165.diff
deleted file mode 100644
index 14c342a51..000000000
--- a/source/a/patch/patch.99f2638763845d8173a0c9f9209ac2b4be947165.diff
+++ /dev/null
@@ -1,88 +0,0 @@
-From 99f2638763845d8173a0c9f9209ac2b4be947165 Mon Sep 17 00:00:00 2001
-From: Andreas Gruenbacher <agruen@linbit.com>
-Date: Tue, 18 Sep 2012 10:51:17 +0000
-Subject: Fix file truncation when switching from git diff to non-git diff
-
-* src/patch.c (main): Output queued output files only when switching from a git
-diff to a non-git diff. This can modify the input file, so make sure to
-stat() it again.
-* tests/concat-git-diff: Add test case growing a file with a git diff and then
-with a non-git diff; without this fix; the result would be truncated.
----
-diff --git a/src/patch.c b/src/patch.c
-index 0bce8fb..0b0fdd4 100644
---- a/src/patch.c
-+++ b/src/patch.c
-@@ -196,8 +196,12 @@ main (int argc, char **argv)
-
- if (have_git_diff != pch_git_diff ())
- {
-+ if (have_git_diff)
-+ {
-+ output_files (NULL);
-+ inerrno = -1;
-+ }
- have_git_diff = ! have_git_diff;
-- output_files (NULL);
- }
-
- if (TMPREJNAME_needs_removal)
-diff --git a/tests/concat-git-diff b/tests/concat-git-diff
-index 927eb5a..c78da53 100644
---- a/tests/concat-git-diff
-+++ b/tests/concat-git-diff
-@@ -56,11 +56,7 @@ check 'cat f' <<EOF
- three
- EOF
-
--cat > f <<EOF
--1
--2
--3
--EOF
-+seq 3 > f
-
- cat > concat2.diff <<EOF
- diff --git a/f b/f
-@@ -95,3 +91,38 @@ a
- 3
- b
- EOF
-+
-+seq 3 > f
-+
-+cat > concat3.diff <<EOF
-+diff --git a/f b/f
-+index 01e79c3..0d0b976 100644
-+--- a/f
-++++ b/f
-+@@ -1,3 +1,4 @@
-+ 1
-+ 2
-+ 3
-++b
-+diff a/f b/f
-+--- a/f
-++++ b/f
-+@@ -1,3 +1,4 @@
-++a
-+ 1
-+ 2
-+ 3
-+EOF
-+
-+check 'patch -p1 < concat3.diff || echo "Status: $?"' <<EOF
-+patching file f
-+patching file f
-+EOF
-+
-+check 'cat f' <<EOF
-+a
-+1
-+2
-+3
-+b
-+EOF
---
-cgit v0.9.0.2
-
diff --git a/source/a/patch/patch.SlackBuild b/source/a/patch/patch.SlackBuild
index 1607b4059..28880a276 100755
--- a/source/a/patch/patch.SlackBuild
+++ b/source/a/patch/patch.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2005-2009, 2010, 2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2005-2009, 2010, 2012, 2015 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,13 +20,14 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=2.7
-BUILD=${BUILD:-2}
+PKGNAM=patch
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 ) ;;
@@ -40,8 +41,8 @@ PKG=$TMP/package-patch
rm -rf $PKG
mkdir -p $TMP $PKG
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
elif [ "$ARCH" = "x86_64" ]; then
@@ -55,9 +56,6 @@ rm -rf patch-${VERSION}
tar xvf $CWD/patch-${VERSION}.tar.xz || exit 1
cd patch-${VERSION} || exit 1
-zcat $CWD/patch.281537bcd92515ae3b9f154acd579ce97260f99b.diff.gz | patch -p1 --verbose || exit 1
-zcat $CWD/patch.99f2638763845d8173a0c9f9209ac2b4be947165.diff.gz | patch -p1 --verbose || exit 1
-
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
diff --git a/source/a/pciutils/pciutils-3.2.0.tar.sign b/source/a/pciutils/pciutils-3.2.0.tar.sign
deleted file mode 100644
index 5cc46614f..000000000
--- a/source/a/pciutils/pciutils-3.2.0.tar.sign
+++ /dev/null
@@ -1,17 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.12 (GNU/Linux)
-
-iQIVAwUAUXFFN8KOeEftcPgtAQLG3w/8C2cNMhW3v4romdMzTFJ0StgayKsQhvNk
-BxG1FLexwswGWO91TPz52bwOcgN+8OZODsTLf2iMmnt5wVnskov/z73KHPEXKFW7
-Q7fpbSszaAWklDL0G4Pp6kdt7yxFKgqPDSIbKbmMNTzFdTF5QyqajAJ6/3ah1cEt
-z75Nb3II24Yaip7ibRjb8d1OS9EpN64J+pEbrGLPh7FFOfqfY6yQtFdajdLor31x
-/zs/VcI1gjlGaKym8zQkamH561NDQLUoWxSNjnNDLbSEn369r4pBBuQbr4iXrPDB
-dGV+g6FXLFGb7QRODrLsRO+xLswQG7Jpn7dyd7Uxf1HoYuy8USXMg5gZPjNctWA3
-ZRF4RAP4AgxLSIwQBZqDjjDIwf52cJsrKC37AFLqmWMn5zyPNcLdFlkYbN2DiwPE
-5Q2egQMB13xeURwOgEeQ3BA5AbAOx4JdlctyM+WUl5zhzheUqlmZRN6rg/cJt1HY
-NhsbA4Gkt2OZYXJdpPixBJENxV8RJftNMVd4WKhLktJ8uzLoG/sWfyI6NBOXC17x
-7+fZTFV9MeY9/JJsyY8WMYT94ut7wyR7nSFfe6ZsPSRV8DTZNlSITF9Qb3czTGOY
-te4jC/oH+yNzyWCLvRD0uuf/cxmZKQqfsfosU4w+0nONoe15CCWkx7laYwBx0hN3
-l7tsXYaGnbk=
-=fcLj
------END PGP SIGNATURE-----
diff --git a/source/a/pciutils/pciutils-3.4.1.tar.sign b/source/a/pciutils/pciutils-3.4.1.tar.sign
new file mode 100644
index 000000000..ec76e3bd4
--- /dev/null
+++ b/source/a/pciutils/pciutils-3.4.1.tar.sign
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.12 (GNU/Linux)
+
+iQIVAwUAVokuY8KOeEftcPgtAQIocQ/+P7n7axTElRQb6X4qmc9Dpn8iPUd4WL5L
+8tdOsWN8iILg0QjdOPRhsBjtIdrjIy2XuYJQavJyGLhHuLDTTlxbvzT7MBPRDy0n
+M1B/S1al6IjI6hjW7czTgPJUJ4po+I3vCpDRI4BgXYNPy59rp45xELdQsb8ybGp9
+4zkcSCHzGS7h2fc5pNLr5Kk18wXD5HtKtXSNRee3u4aK1GfBgpcCUMHf86/Ddqqz
+kriEcNUkOjEmfgXTlCDH0XPh/sE3efB2yD5G9AcSwEtDAyb2XPuTQifB8aPDVrEw
+5GSg6el5MPkMH6+nfFk2lQ2FT4T3FTd6IgcABCSAk5SmtX45dmlzOIBSY6ngL0QI
+wrnnHesJqat7gHIAXO8ox4vt77VbTnQklSks5PSKNZ1ySluomZs9RqLh5jtGqyqq
+nT4cTBGG48a4pejkbA0Ew3LTXjfZAVIDAPkWc5J0LT0m4xdgfYxEgJTkmIR74Mdl
+CWqe7eZYcWP7fD51ViuAZA9Pko1+eUDebinEKVlDKw+cFe7R3tHPWK0BKwE/c8pE
+CH5kQZKswKWMxVro6gmFO/fQOHovUKnfRfnNYAXUNUt1Kwt5Nh/khOsvcw3g1dFL
+CHi0Yp7uuw1sMHGKGJtmBWC6Q1ljl/HRPwcewCAaeiga96Wt/XrsaasktrNGzWQT
+3o5upw70HSE=
+=/4W8
+-----END PGP SIGNATURE-----
diff --git a/source/a/pciutils/pciutils.SlackBuild b/source/a/pciutils/pciutils.SlackBuild
index c79361066..776d1a927 100755
--- a/source/a/pciutils/pciutils.SlackBuild
+++ b/source/a/pciutils/pciutils.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2013 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2013, 2015, 2016 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,14 +22,14 @@
VERSION=${VERSION:-$(echo pciutils-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
-NUMJOBS=${NUMJOBS:--j3}
+NUMJOBS=${NUMJOBS:--j7}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 ) ;;
@@ -40,8 +40,8 @@ CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-pciutils
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
@@ -56,7 +56,7 @@ mkdir -p $TMP $PKG
cd $TMP
rm -rf pciutils-$VERSION
tar xvf $CWD/pciutils-$VERSION.tar.xz || exit 1
-cd pciutils-$VERSION
+cd pciutils-$VERSION || exit 1
chown -R root:root .
find . \
@@ -66,9 +66,10 @@ find . \
-exec chmod 644 {} \;
zcat $CWD/pciutils.dontcompress.diff.gz | patch -p1 || exit 1
-zcat $CWD/pciutils.update.pci.ids.url.diff.gz | patch -p1 || exit 1
-make \
+# Build/install the library and utilities:
+make clean
+make install install-lib \
PREFIX=/usr \
SBINDIR=/sbin \
LIBDIR=/usr/lib${LIBDIRSUFFIX} \
@@ -76,29 +77,30 @@ make \
IDSDIR=/usr/share/hwdata \
PCI_IDS=pci.ids \
PCI_COMPRESSED_IDS=0 \
- SHARED=no \
+ SHARED=yes \
OPT="$SLKCFLAGS" \
- $NUMJOBS || exit 1
+ DESTDIR=$PKG || exit 1
-make install install-lib \
- PREFIX=/usr \
- SBINDIR=/sbin \
- LIBDIR=/usr/lib${LIBDIRSUFFIX} \
- MANDIR=/usr/man \
- IDSDIR=/usr/share/hwdata \
- PCI_IDS=pci.ids \
- PCI_COMPRESSED_IDS=0 \
- SHARED=no \
- DESTDIR=$PKG
+chmod 755 $PKG/usr/lib${LIBDIRSUFFIX}/libpci.so.*
+
+# Move libraries, as they might be needed by programs that bring a network
+# mounted /usr online:
+mkdir $PKG/lib${LIBDIRSUFFIX}
+( cd $PKG/usr/lib${LIBDIRSUFFIX}
+ for file in lib*.so.?.* ; do
+ mv $file ../../lib${LIBDIRSUFFIX}
+ ln -sf ../../lib${LIBDIRSUFFIX}/$file .
+ done
+ cp -a lib*.so.? ../../lib${LIBDIRSUFFIX}
+)
mkdir -p $PKG/usr/sbin
mv $PKG/sbin/update-pciids $PKG/usr/sbin/update-pciids
-# Do not compress pci.ids
-( cd $PKG/usr/share ; gzip -d pci.ids.gz )
-
-# Put a compat symlink in place
-ln -s hwdata/pci.ids $PKG/usr/share/pci.ids
+# Use pci.ids from hwdata package
+rm -f $PKG/usr/share/hwdata/pci.ids
+# Remove empty directories:
+rmdir $PKG/usr/share/hwdata $PKG/usr/share
# Compress and link manpages, if any:
if [ -d $PKG/usr/man ]; then
@@ -120,7 +122,7 @@ find $PKG | xargs file | grep -e "executable" -e "shared object" \
mkdir -p $PKG/usr/doc/pciutils-$VERSION
cp -a \
- COPYING* README TODO \
+ COPYING* README* TODO \
$PKG/usr/doc/pciutils-$VERSION
# If there's a ChangeLog, installing at least part of the recent history
diff --git a/source/a/pciutils/pciutils.update.pci.ids.url.diff b/source/a/pciutils/pciutils.update.pci.ids.url.diff
deleted file mode 100644
index 1588f729c..000000000
--- a/source/a/pciutils/pciutils.update.pci.ids.url.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./update-pciids.sh.orig 2012-07-02 21:45:31.280890064 -0500
-+++ ./update-pciids.sh 2012-07-02 21:46:03.875889369 -0500
-@@ -3,7 +3,7 @@
- [ "$1" = "-q" ] && quiet=true || quiet=false
-
- set -e
--SRC="http://pci-ids.ucw.cz/v2.2/pci.ids"
-+SRC="http://pciids.sourceforge.net/pci.ids"
- DEST=pci.ids
- PCI_COMPRESSED_IDS=0
- GREP=grep
diff --git a/source/a/pcmciautils/pcmciautils-017.tar.sign b/source/a/pcmciautils/pcmciautils-017.tar.sign
deleted file mode 100644
index cd492c77b..000000000
--- a/source/a/pcmciautils/pcmciautils-017.tar.sign
+++ /dev/null
@@ -1,8 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.9 (GNU/Linux)
-Comment: See http://www.kernel.org/signature.html for info
-
-iD8DBQBLRLP8yGugalF9Dw4RAn4EAJ96T5HaIjfdqhIfp2/GeL18BgylOwCfZA+R
-sWw0NvzDaf3ZKhgHZHNmGLs=
-=A5s6
------END PGP SIGNATURE-----
diff --git a/source/a/pcmciautils/pcmciautils-018.tar.sign b/source/a/pcmciautils/pcmciautils-018.tar.sign
new file mode 100644
index 000000000..2f4105796
--- /dev/null
+++ b/source/a/pcmciautils/pcmciautils-018.tar.sign
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1
+
+iQIcBAABAgAGBQJVdEN7AAoJEJqXYIlMjaMNMIoP/1rBoqXynp4+o5/tnYbjSFwT
+09+fnA0V4xiuRxDszMT1IteZi3JTgn8ltlYoxug+yzxynDoYRFKXrGkDvIDN+pao
+lPDr9b6QvWfoVPGXYG6W1026UojkoNjdH6gJSW2P6P8Y7/K1NWDSvKM7kd8+Of2A
+16LUYh7LBu7MhUKft1QXVy5qxxZTiceXar7kOpY9UeP3VoNVhxEQ7UkLcTTt+Bsv
+8PCsIfPJ2m4CvQRLDXtTg8G71ZOkiuc305inluf63jsIiSJztlU3IUC+i38No23j
+moZbGIW7QDjzoMGJSDYLCtDi4OhrDpYEYc9xwkAb3p/F9cLOPtTBB1cHlNcOk/KV
+D4yWiB1eWK3dl0mIPz2th4cLKnbAxt52rlXP7PfDrC4vmue6KGPDuhhDS92gtEiI
+pKsXWfDFYIcCzFwwKPzuFBipweAzLwvARW8x1KCMSmKVNXoroGcGzKM4PXllZkiL
+XrBS1qt5YJWT648JwdMbFHPa86klXqOz51jT1DchwiFqbXd/qI32POlz2qmWuvaf
+Mp2E30u0Mwi/2EA4aBiSiRP222rZoHh8ZpxnilRrUG7ewW+Q1F1bOVw07mSACQ11
+tQZa4FfT5GP6rqurgJX1Uw8NKRg68vBKK2Y0hvzS7RLvJbG6/T1JkSVBXy07T1gE
+sUVy7nZl1p9UnbJRgAZ5
+=NhTa
+-----END PGP SIGNATURE-----
diff --git a/source/a/pcmciautils/pcmciautils.SlackBuild b/source/a/pcmciautils/pcmciautils.SlackBuild
index fa4581720..2a492d447 100755
--- a/source/a/pcmciautils/pcmciautils.SlackBuild
+++ b/source/a/pcmciautils/pcmciautils.SlackBuild
@@ -23,13 +23,13 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=${VERSION:-017}
+VERSION=${VERSION:-018}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 ) ;;
@@ -43,11 +43,25 @@ CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-pcmciautils
+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
+
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf pcmciautils-$VERSION
-tar xvf $CWD/pcmciautils-$VERSION.tar.bz2 || exit 1
+tar xvf $CWD/pcmciautils-$VERSION.tar.xz || exit 1
cd pcmciautils-$VERSION
chown -R root.root .
find . \
@@ -56,7 +70,7 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-make $NUMJOBS || make || exit 1
+CFLAGS="$SLKCFLAGS" make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
( cd $PKG
diff --git a/source/a/pkgtools/manpages/setup.8-deprecated b/source/a/pkgtools/manpages/setup.8-deprecated
deleted file mode 100644
index 533974222..000000000
--- a/source/a/pkgtools/manpages/setup.8-deprecated
+++ /dev/null
@@ -1,120 +0,0 @@
-.\" -*- nroff -*-
-.ds g \" empty
-.ds G \" empty
-.\" Like TP, but if specified indent is more than half
-.\" the current line-length - indent, use the default indent.
-.de Tp
-.ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP
-.el .TP "\\$1"
-..
-.TH SETUP 8 "21 May 1994" "Slackware Version 2.0.0"
-.SH NAME
-setup \- Slackware system setup tool.
-.SH SYNOPSIS
-.B setup
-.LP
-.SH DESCRIPTION
-.B setup
-is the system installation and setup tool provided with the Slackware Linux
-distribution.
-.LP
-.B setup
-is usually used to install software packages from your hard drive, a CD,
-NFS, or floppy disks. It is also a frontend for
-.B pkgtool
-and many configuration scripts that come with various packages, such as the
-scripts which allow you to install LILO, configure your timezone, set your
-keyboard fonts, make bootdisks, and many other tasks.
-.SH OPTIONS
-.TP
-.B HELP
-Read the
-.B setup
-help file.
-.TP
-.B KEYMAP
-Change your keyboard map to one of many international and specialized keymaps
-available.
-.B NOTE:
-This change will not become permanent unless you go through the
-.B CONFIGURE option.
-.TP
-.B MAKE TAGS
-This allows you to write out custom tagfiles. A
-.B tagfile
-is a list of package names followed by one of these tags:
-.B ADD
-(required),
-.B SKP
-(skip),
-.B REC
-(recommended) or,
-.B OPT
-(optional). These allow you to completely automate your software installation.
-You can either put these files on the first disk of each disk series
-(optionally using a custom 3 character extension), or in a custom location
-altogether, such as on a floppy disk in ./a1, ./ap1, ./d1, ..., directories.
-The format of a line in a
-.B tagfile
-is like this:
-.LP
-package:
-.B TAG
-.TP
-.B SOURCE
-Select your source media, such as hard disk, NFS, CD, or floppy. You should
-select installation from a directory if your CD or NFS directory has already
-been mounted, as it probably is if you're using
-.B setup
-on your hard drive.
-.TP
-.B TARGET
-Select your target directory. For testing purposes, you may install the
-packages to a directory other than '/'. Don't expect them to run from there,
-though.
-.TP
-.B DISK SETS
-Select the disk sets you want to install. You can also install custom disk
-sets by tagging the
-.B CUS
-selection. The disk sets must be Slackware-like: they require the diskxxx?
-index on each disk, such as diskxyz1 for the first disk of the XYZ series.
-On the last disk there must be a file called
-.B install.end
-to signal the end of the disk series.
-.TP
-.B INSTALL
-Once you've gone through
-.B SOURCE
-and
-.B DISK SETS
-( and possibly
-.B TARGET
-), then you select this choice to go on with the software installation. You'll
-be asked what type of tagfiles you want to use and then
-.B pkgtool
-will be called to install the software.
-.TP
-.B CONFIGURE
-This option runs through several scripts that configure various aspects of your
-Linux system. These might include LILO installation, timezone configuration,
-and other things.
-.TP
-.B PKGTOOL
-This option calls the
-.B pkgtool(8)
-utility for you.
-.TP
-.B EXIT
-Exit the
-.B setup
-program.
-.SH AUTHOR
-Patrick J. Volkerding <volkerdi@slackware.com>
-.SH "SEE ALSO"
-.BR makepkg(8),
-.BR installpkg(8),
-.BR explodepkg(8),
-.BR removepkg(8),
-.BR pkgtool(8),
-.BR upgradepkg(8)
diff --git a/source/a/pkgtools/pkgtools.SlackBuild b/source/a/pkgtools/pkgtools.SlackBuild
index d29306380..c33fb0622 100755
--- a/source/a/pkgtools/pkgtools.SlackBuild
+++ b/source/a/pkgtools/pkgtools.SlackBuild
@@ -27,9 +27,9 @@ fi
PKG=$TMP/package-pkgtools
# *** UPDATE THESE WITH EACH BUILD:
-VERSION=14.1
+VERSION=14.2
ARCH=${ARCH:-noarch}
-BUILD=2
+BUILD=10
if [ ! -d $TMP ]; then
mkdir -p $TMP # location to build the source
@@ -46,6 +46,19 @@ mkdir -p $PKG
done
)
+# Install internationalized manpages from
+# http://slint.fr/forSlackware/man_l10n/pkgtools/
+( cd $PKG/usr/man
+ tar xf $CWD/manpages-l10n.tar.xz
+ for page in manpages-l10n/* ; do
+ manpage=$(basename $page)
+ mkdir -p ${manpage%%.*}/man8
+ mv $page ${manpage%%.*}/man8/${page#*.}.8
+ done
+ gzip -9 */man8/*.8
+ rmdir manpages-l10n
+)
+
# Install Slackware scripts:
( cd $CWD/scripts
# Install the core Slackware package tools:
@@ -74,7 +87,7 @@ cat $CWD/slack-desc > $PKG/install/slack-desc
# Build the package:
cd $PKG
-makepkg -l y -c n $TMP/pkgtools-$VERSION-$ARCH-$BUILD.tgz
+makepkg -l y -c n $TMP/pkgtools-$VERSION-$ARCH-$BUILD.txz
echo
echo "HEY -- did you remember to update the version numbers in the setup scripts?"
diff --git a/source/a/pkgtools/scripts/installpkg b/source/a/pkgtools/scripts/installpkg
index 2d3f208d2..96c34fd93 100644
--- a/source/a/pkgtools/scripts/installpkg
+++ b/source/a/pkgtools/scripts/installpkg
@@ -21,19 +21,10 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
-# Fri Apr 22 20:45:45 UTC 2011
-# A stronger formula is needed to regularize output that will be parsed.
-unset LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY \
- LC_MESSAGES LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT \
- LC_IDENTIFICATION LC_ALL
-LANG=C
-export LANG
-#
-# Thu Apr 21 17:31:29 UTC 2011
-# Set LC_MESSAGES=C to avoid output parsing issues.
-# Might as well do that right now.
-#LC_MESSAGES=C
-#export LC_MESSAGES
+# Sun Sep 6 21:58:36 BST 2009
+# Replaced usage of "cat" with STDIN redirection or file name parameters
+# to speed up execution on ARM.
+# Replaced pkgbase & package_name code with 'sed' script by Jim Hawkins.
#
# Sat Apr 25 21:18:53 UTC 2009
# Converted to use new pkgbase() function to remove pathname and
@@ -67,28 +58,18 @@ export LANG
# Changed $TMP directory to /var/log/setup/tmp, and chmod'ed it 700 to close
# some security holes.
+# A stronger formula is needed to regularize output that will be parsed.
+unset LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY \
+ LC_MESSAGES LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT \
+ LC_IDENTIFICATION LC_ALL
+LANG=C
+export LANG
+
# Return a package name that has been stripped of the dirname portion
# and any of the valid extensions (only):
pkgbase() {
- PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
- case $PKGEXT in
- 'tgz' )
- PKGRETURN=$(basename $1 .tgz)
- ;;
- 'tbz' )
- PKGRETURN=$(basename $1 .tbz)
- ;;
- 'tlz' )
- PKGRETURN=$(basename $1 .tlz)
- ;;
- 'txz' )
- PKGRETURN=$(basename $1 .txz)
- ;;
- *)
- PKGRETURN=$(basename $1)
- ;;
- esac
- echo $PKGRETURN
+ # basename + strip extensions .tbz, .tgz, .tlz and .txz
+ echo "$1" | sed 's?.*/??;s/\.t[bglx]z$//'
}
# If installpkg encounters a problem, it will return a non-zero error code.
@@ -157,33 +138,9 @@ crunch() {
done
}
+# Strip version, architecture and build from the end of the name
package_name() {
- STRING=$(pkgbase $1)
- # Check for old style package name with one segment:
- if [ "$(echo $STRING | cut -f 1 -d -)" = "$(echo $STRING | cut -f 2 -d -)" ]; then
- echo $STRING
- else # has more than one dash delimited segment
- # Count number of segments:
- INDEX=1
- while [ ! "$(echo $STRING | cut -f $INDEX -d -)" = "" ]; do
- INDEX=$(expr $INDEX + 1)
- done
- INDEX=$(expr $INDEX - 1) # don't include the null value
- # If we don't have four segments, return the old-style (or out of spec) package name:
- if [ "$INDEX" = "2" -o "$INDEX" = "3" ]; then
- echo $STRING
- else # we have four or more segments, so we'll consider this a new-style name:
- NAME=$(expr $INDEX - 3)
- NAME="$(echo $STRING | cut -f 1-$NAME -d -)"
- echo $NAME
- # cruft for later ;)
- #VER=$(expr $INDEX - 2)
- #VER="$(echo $STRING | cut -f $VER -d -)"
- #ARCH=$(expr $INDEX - 1)
- #ARCH="$(echo $STRING | cut -f $ARCH -d -)"
- #BUILD="$(echo $STRING | cut -f $INDEX -d -)"
- fi
- fi
+ pkgbase $1 | sed 's?-[^-]*-[^-]*-[^-]*$??'
}
# Parse options:
@@ -285,8 +242,8 @@ if [ "$MODE" = "warn" ]; then
esac
( cd $TMP/scan$$ ; $packagecompression -dc | $TAR xf - install ) < $1 2> /dev/null
if [ -r $TMP/scan$$/install/doinst.sh ]; then
- if cat $TMP/scan$$/install/doinst.sh | grep ' rm -rf ' 1>/dev/null 2>/dev/null ; then
- cat $TMP/scan$$/install/doinst.sh | grep ' rm -rf ' > $TMP/scan$$/install/delete
+ if grep ' rm -rf ' $TMP/scan$$/install/doinst.sh 1>/dev/null 2>/dev/null ; then
+ grep ' rm -rf ' $TMP/scan$$/install/doinst.sh > $TMP/scan$$/install/delete
for f in `cat $TMP/scan$$/install/delete | cut -f 3,7 -d ' ' | tr ' ' '/'`; do
f="/$f"
if [ -f "$f" -o -L "$f" ]; then
@@ -428,14 +385,7 @@ for package in $* ; do
rm -f $TMP/tmplist$$ $TMP/tmpsize$$
continue
fi
- UNCOMPRESSED="$(expr $(cat $TMP/tmpsize$$ | head -n 1 | cut -f 1 -d +) / 2)"
- if [ $UNCOMPRESSED -lt 1024 ]; then
- UNCOMPRESSED="${UNCOMPRESSED}K"
- elif [ $UNCOMPRESSED -lt 10239 ]; then
- UNCOMPRESSED="$(expr $UNCOMPRESSED \* 1000 / 1024 | cut -b1).$(expr $UNCOMPRESSED \* 1000 / 1024 | cut -b2)M"
- else
- UNCOMPRESSED="$(expr $UNCOMPRESSED / 1024)M"
- fi
+ UNCOMPRESSED="$(cat $TMP/tmpsize$$ | tail -n 1 | cut -f 1 -d ' ' | numfmt --to=iec)"
rm -f $TMP/tmpsize$$
# If we still don't have a package description, look inside the package.
@@ -456,12 +406,12 @@ for package in $* ; do
fi
# Gather package infomation into a temporary file:
- cat $DESCRIPTION | grep "^$packagebase:" | cut -f 2- -d : | cut -b2- 1> $TMP/tmpmsg$$ 2> /dev/null
+ grep "^$packagebase:" $DESCRIPTION | cut -f 2- -d : | cut -b2- 1> $TMP/tmpmsg$$ 2> /dev/null
if [ "$shortname" != "$packagebase" ]; then
- cat $DESCRIPTION | grep "^$shortname:" | cut -f 2- -d : | cut -b2- 1>> $TMP/tmpmsg$$ 2> /dev/null
+ grep "^$shortname:" $DESCRIPTION | cut -f 2- -d : | cut -b2- 1>> $TMP/tmpmsg$$ 2> /dev/null
fi
# Adjust the length here. This allows a slack-desc to be any size up to 13 lines instead of fixed at 11.
- LENGTH=$(cat $TMP/tmpmsg$$ | wc -l)
+ LENGTH=$(wc -l < $TMP/tmpmsg$$ )
while [ $LENGTH -lt 12 ]; do
echo >> $TMP/tmpmsg$$
LENGTH=$(expr $LENGTH + 1)
@@ -495,12 +445,12 @@ EOF
echo "Installing package $(basename $package) $PMSG:"
fi
echo "PACKAGE DESCRIPTION:"
- cat $DESCRIPTION | grep "^$packagebase:" | uniq | sed "s/^$packagebase:/#/g"
+ grep "^$packagebase:" $DESCRIPTION | uniq | sed "s/^$packagebase:/#/g"
if [ "$shortname" != "$packagebase" ]; then
- cat $DESCRIPTION | grep "^$shortname:" | uniq | sed "s/^$shortname:/#/g"
+ grep "^$shortname:" $DESCRIPTION | uniq | sed "s/^$shortname:/#/g"
fi
elif [ "$MODE" = "terse" ]; then # emit a single description line
- printf "%-72s %-6s\n" "$(echo $shortname: $(cat $DESCRIPTION | grep "^$packagebase:" | sed "s/^$packagebase: //g" | head -n 1 | tr -d '()' | sed "s/^$packagebase //g" ) | cut -b1-72)" "[${UNCOMPRESSED}]" | cut -b1-80
+ printf "%-72s %-6s\n" "$(echo $shortname: $(echo $(cat $DESCRIPTION | grep "^$packagebase:" | sed "s/^$packagebase: //g" | head -n 1 | tr -d '()' | sed "s/^$packagebase //g" ) $(echo " ......................................................................")) | cut -b1-72)" "[${UNCOMPRESSED}]" | cut -b1-80
elif [ "$MODE" = "infobox" ]; then # install infobox package
dialog --title "Installing package $shortname $PMSG" --infobox "$(cat $TMP/tmpmsg$$)" 0 0
elif [ "$MODE" = "menu" -a "$PRIORITY" = "ADD" -a ! "$ALWAYSASK" = "yes" ]; then # ADD overrides menu mode unless -ask was used
@@ -526,7 +476,7 @@ EOF
# Make sure there are no symbolic links sitting in the way of
# incoming package files:
- cat $TMP/tmplist$$ | grep -v "/$" | while read file ; do
+ grep -v "/$" $TMP/tmplist$$ | while read file ; do
if [ -L "$ROOT/$file" ]; then
rm -f "$ROOT/$file"
fi
@@ -543,13 +493,13 @@ EOF
echo "PACKAGE MD5SUM: $(md5sum $package | cut -f 1 -d ' ')" >> $ADM_DIR/packages/$shortname
fi
echo "PACKAGE DESCRIPTION:" >> $ADM_DIR/packages/$shortname
- cat $DESCRIPTION | grep "^$packagebase:" >> $ADM_DIR/packages/$shortname 2> /dev/null
+ grep "^$packagebase:" $DESCRIPTION >> $ADM_DIR/packages/$shortname 2> /dev/null
if [ "$shortname" != "$packagebase" ]; then
- cat $DESCRIPTION | grep "^$shortname:" >> $ADM_DIR/packages/$shortname 2> /dev/null
+ grep "^$shortname:" $DESCRIPTION >> $ADM_DIR/packages/$shortname 2> /dev/null
fi
echo "FILE LIST:" >> $ADM_DIR/packages/$shortname
- ( cd $ROOT/ ; $packagecompression -dc | $TAR -xlUpvf - ) < $package >> $TMP/$shortname 2> /dev/null
- if [ "$(cat $TMP/$shortname | grep '^\./' | wc -l | tr -d ' ')" = "1" ]; then
+ ( cd $ROOT/ ; $packagecompression -dc | $TAR -xlUpvf - | sort ) < $package >> $TMP/$shortname 2> /dev/null
+ if [ "$( grep '^\./' $TMP/$shortname | wc -l | tr -d ' ')" = "1" ]; then
# Good. We have a package that meets the Slackware spec.
cat $TMP/$shortname >> $ADM_DIR/packages/$shortname
else
@@ -571,7 +521,14 @@ EOF
if [ "$MODE" = "install" ]; then
echo "Executing install script for $(basename $package)."
fi
- ( cd $ROOT/ ; sh install/doinst.sh -install; )
+ # If bash is available, use sed to convert the install script to use pushd/popd
+ # rather than spawning subshells which is slow on ARM. This will also speed up
+ # install script processing on any platform.
+ if [ -x /bin/bash ]; then
+ ( cd $ROOT/ ; sed -e's?^( cd \([^;]*\);\(.*\) )$?pushd \1 \&\> /dev/null ; \2 ; popd \&\> /dev/null?g ' install/doinst.sh | /bin/bash ; )
+ else
+ ( cd $ROOT/ ; sh install/doinst.sh ; )
+ fi
fi
# Clean up the mess...
if [ -d $ROOT/install ]; then
diff --git a/source/a/pkgtools/scripts/makepkg b/source/a/pkgtools/scripts/makepkg
index e6805476a..25c5f2364 100644
--- a/source/a/pkgtools/scripts/makepkg
+++ b/source/a/pkgtools/scripts/makepkg
@@ -1,7 +1,7 @@
#!/bin/sh
# Copyright 1994, 1998, 2008 Patrick Volkerding, Moorhead, Minnesota USA
# Copyright 2003 Slackware Linux, Inc. Concord, CA USA
-# Copyright 2009 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2009, 2015 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,9 +21,16 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#
+# Wed Sep 23 18:36:43 UTC 2015
+# Support spaces in file/directory names. <alphageek>
+#
# Sun Apr 5 21:23:26 CDT 2009
# Support .tgz, .tbz, .tlz, and .txz packages. <volkerdi>
#
+# Fri Nov 26 13:53:36 GMT 2004
+# Patched to chmod 755 the package's root directory if needed, then restore
+# previous permissions after the package has been created. <sw>
+#
# Wed Mar 18 15:32:33 CST 1998
# Patched to avoid possible symlink attacks in /tmp.
@@ -48,18 +55,21 @@ Written by John Gilmore and Jay Fenlason." ]; then
fi
make_install_script() {
+ TAB="$(echo -e "\t")"
COUNT=1
- LINE="$(sed -n "$COUNT p" $1)"
- while [ ! "$LINE" = "" ]; do
- LINKGOESIN="$(echo "$LINE" | cut -f 1 -d " ")"
- LINKGOESIN="$(dirname $LINKGOESIN)"
- LINKNAMEIS="$(echo "$LINE" | cut -f 1 -d ' ')"
+ while :; do
+ LINE="$(sed -n "$COUNT p" $1)"
+ if [ "$LINE" = "" ]; then
+ break
+ fi
+ LINKGOESIN="$(echo "$LINE" | cut -f 1 -d "$TAB")"
+ LINKGOESIN="$(dirname "$LINKGOESIN")"
+ LINKNAMEIS="$(echo "$LINE" | cut -f 1 -d "$TAB")"
LINKNAMEIS="$(basename "$LINKNAMEIS")"
- LINKPOINTSTO="$(echo "$LINE" | cut -f 3 -d ' ')"
+ LINKPOINTSTO="$(echo "$LINE" | cut -f 2 -d "$TAB")"
echo "( cd $LINKGOESIN ; rm -rf $LINKNAMEIS )"
echo "( cd $LINKGOESIN ; ln -sf $LINKPOINTSTO $LINKNAMEIS )"
COUNT=$(expr $COUNT + 1)
- LINE="$(sed -n "$COUNT p" $1)"
done
}
@@ -189,13 +199,12 @@ case $EXTENSION in
esac
echo
-echo "Slackware package maker, version 3.14159."
+echo "Slackware package maker, version 3.141593."
echo
echo "Searching for symbolic links:"
# Get rid of possible pre-existing trouble:
INST=$(mktemp $TMP/makepkg.XXXXXX)
-# This requires the ls from coreutils-5.0 (or newer):
-find . -type l -exec ls -l --time-style=long-iso {} \; | while read foo ; do echo $foo ; done | cut -f 8- -d ' ' | cut -b3- | tee $INST
+find . -type l -printf "%p\t%l\n" | sed 's,^\./,, ; s, ,\\ ,g' | tee $INST
if [ ! "$(cat $INST)" = "" ]; then
echo
echo "Making symbolic link creation script:"
@@ -279,6 +288,18 @@ if [ "$CHOWN" = "y" ]; then
find . -type d -exec chown -v root.root {} \;
fi
+# Ensure that the 'root' of the package is chmod 755 because
+# the / of your filesystem will inherit these permissions.
+# If it's anything tighter than 755 then bad things happen such as users
+# not being able to login, users already logged in can no longer run commands
+# and so on.
+OLDROOTPERMS="$(find -name . -printf "%m\n")"
+if [ $OLDROOTPERMS -ne 755 ]; then
+ echo "WARNING: $PWD is chmod $OLDROOTPERMS"
+ echo " temporarily changing to chmod 755"
+ chmod 755 .
+fi
+
echo "Creating Slackware package: ${TARGET_NAME}/${TAR_NAME}.${EXTENSION}"
echo
rm -f ${TARGET_NAME}/${TAR_NAME}.${EXTENSION}
@@ -342,6 +363,13 @@ if find . | grep site_perl 1> /dev/null ; then
echo "WARNING: site_perl directory detected (this is fine for a local package build)"
fi
+# Restore the old permissions if they previously weren't chmod 755
+if [ $OLDROOTPERMS -ne 755 ]; then
+ echo
+ echo "Restoring permissions of $PWD to chmod $OLDROOTPERMS"
+ chmod $OLDROOTPERMS .
+fi
+
echo
echo "Slackware package ${TARGET_NAME}/${TAR_NAME}.${EXTENSION} created."
echo
diff --git a/source/a/pkgtools/scripts/pkgtool b/source/a/pkgtools/scripts/pkgtool
index dd9d6816f..fd77f2980 100644
--- a/source/a/pkgtools/scripts/pkgtool
+++ b/source/a/pkgtools/scripts/pkgtool
@@ -1,10 +1,9 @@
#!/bin/sh
#
-# Copyright 1993, 1994, 1995, 1996, 1997,
-# 1998, 1999 Patrick Volkerding, Moorhead, MN USA
+# Copyright 1993, 1994, 1995, 1996, 1997, 1998, 1999 Patrick Volkerding, Moorhead, MN USA
# Copyright 2001, 2004 Slackware Linux, Inc., Concord, CA USA
# All rights reserved.
-# Copyright 2007, 2009, 2010, 2011, 2013 Patrick Volkerding, Sebeka, MN, USA
+# Copyright 2007, 2009, 2010, 2011, 2013, 2015 Patrick Volkerding, Sebeka, MN, USA
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
@@ -44,6 +43,15 @@
# Wed Jan 26 23:06:22 GMT 2005
# * Fix for non-standard package descriptions by Jim Hawkins
+# Avoid problems if any files in /var/log/packages and /var/log/scripts
+# might contain any broken UTF-8 sequences. This was once known to cause
+# dialog to crash.
+unset LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY \
+ LC_MESSAGES LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT \
+ LC_IDENTIFICATION LC_ALL
+LANG=C
+export LANG
+
# Return a package name that has been stripped of the dirname portion
# and any of the valid extensions (only):
pkgbase() {
@@ -72,10 +80,9 @@ SOURCE_DIR=/var/log/mount
ASK="tagfiles"
if [ -L /bin/chmod -a -L /bin/chown ]; then # probably on the bootdisk using busybox
TARGET_DIR=/mnt
+ rootdevice="$(mount | grep ' on /mnt ' | tail -n 1 | cut -f 1 -d ' ' 2> /dev/null)"
TMP=/mnt/var/log/setup/tmp
- if mount | grep "on /mnt" 1> /dev/null 2>&1 ; then # good
- true
- else # bad
+ if ! mount | grep ' on /mnt ' 1> /dev/null 2> /dev/null ; then
echo
echo
echo "You can't run pkgtool from the rootdisk until you've mounted your Linux"
@@ -95,6 +102,7 @@ if [ -L /bin/chmod -a -L /bin/chown ]; then # probably on the bootdisk using bus
fi
else
TARGET_DIR=/
+ rootdevice="$(mount | grep ' on / ' | tail -n 1 | cut -f 1 -d ' ')"
TMP=/var/log/setup/tmp
fi
if [ ! -d $TMP ]; then
@@ -212,7 +220,7 @@ else # there were no arguments, so we'll get the needed information from the
CMD_START="true"
rm -f $TMP/SeT*
while [ 0 ]; do
- dialog --title "Slackware Package Tool (pkgtool version 14.1)" \
+ dialog --title "Slackware Package Tool (pkgtool version 14.2)" \
--menu "\nWelcome to the Slackware package tool.\n\
\nWhich option would you like?\n" 17 75 7 \
"Current" "Install packages from the current directory" \
@@ -250,8 +258,7 @@ are done selecting to run the scripts." 17 70 9 \' > $TMP/setupscr
# Run each script:
for script in $(cat $TMP/return) ; do
scrpath=$ADM_DIR/setup/setup.$(echo $script | tr -d \")
- rootdevice="$(mount | head -n 1 | cut -f 1 -d ' ')"
- ( COLOR=on ; cd $TARGET_DIR ; . $scrpath / $rootdevice )
+ ( COLOR=on ; cd $TARGET_DIR ; . $scrpath $TARGET_DIR $rootdevice )
done
fi
rm -f $TMP/return $TMP/setupscr
@@ -470,7 +477,7 @@ retry, or quit?" 10 60 2 \
umount_the_source() {
if [ ! "$SOURCE_MOUNTED" = "always" ]; then
- umount $SOURCE_DEVICE 1> /dev/null 2>&1
+ umount $SOURCE_DEVICE 1> /dev/null 2> /dev/null
fi;
}
@@ -570,7 +577,7 @@ install_disk() {
CATALOG_FILE=$(basename $PACKAGE_DIR/disk*);
fi
if [ -r $PACKAGE_DIR/$CATALOG_FILE -a ! -d $PACKAGE_DIR/$CATALOG_FILE ]; then
- if grep CONTENTS: $PACKAGE_DIR/$CATALOG_FILE 1> /dev/null 2>&1 ; then
+ if grep CONTENTS: $PACKAGE_DIR/$CATALOG_FILE 1> /dev/null 2> /dev/null ; then
# First we check for missing packages...
for PKGTEST in $(grep "^CONTENTS:" $PACKAGE_DIR/$CATALOG_FILE | cut -f2- -d : 2> /dev/null) ; do
# This is not a perfect test. (say emacs is missing but emacs-nox is not)
@@ -601,7 +608,7 @@ EOF
for PACKAGE_FILENAME in $PACKAGE_DIR/*.t?z; do
BASE=$(pkgbase $PACKAGE_FILENAME)
BASE="$(package_name $BASE)"
- if echo $ALLOWED | grep $BASE 1> /dev/null 2>&1 ; then
+ if echo $ALLOWED | grep $BASE 1> /dev/null 2> /dev/null ; then
true
else
cat << EOF > $TMP/tmpmsg
@@ -687,7 +694,7 @@ if [ "$DISK_SETS" = "disk" ]; then
else
touch $TMP/tagfile
chmod 600 $TMP/tagfile
- if echo $DISK_SETS | grep "#a#" 1> /dev/null 2>&1; then
+ if echo $DISK_SETS | grep "#a#" 1> /dev/null 2> /dev/null ; then
A_IS_NEEDED="true"
else
A_IS_NEEDED="false"
diff --git a/source/a/pkgtools/scripts/removepkg b/source/a/pkgtools/scripts/removepkg
index 8b5a911dd..2813fc3c5 100644
--- a/source/a/pkgtools/scripts/removepkg
+++ b/source/a/pkgtools/scripts/removepkg
@@ -1,6 +1,12 @@
#!/bin/sh
# Slackware remove package script
#
+# Thu Sep 24 03:31:58 UTC 2015 <alphageek>
+# extract_links() sed adjusted to handle symlinks with spaces.
+#
+# Sun Sep 6 21:58:36 BST 2009
+# Replaced pkgbase & package_name code with 'sed' script by Jim Hawkins.
+#
# Sat Apr 25 21:18:53 UTC 2009 (12.34567890b)
# Converted to use new pkgbase() function to remove pathname and
# valid package extensions.
@@ -72,7 +78,7 @@
# Copyright 1994, 1995, 1998 Patrick Volkerding, Moorhead, Minnesota USA
# Copyright 2001, Slackware Linux, Inc., Concord, CA USA
-# Copyright 2009 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2009, 2015 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -96,25 +102,8 @@
# Return a package name that has been stripped of the dirname portion
# and any of the valid extensions (only):
pkgbase() {
- PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
- case $PKGEXT in
- 'tgz' )
- PKGRETURN=$(basename $1 .tgz)
- ;;
- 'tbz' )
- PKGRETURN=$(basename $1 .tbz)
- ;;
- 'tlz' )
- PKGRETURN=$(basename $1 .tlz)
- ;;
- 'txz' )
- PKGRETURN=$(basename $1 .txz)
- ;;
- *)
- PKGRETURN=$(basename $1)
- ;;
- esac
- echo $PKGRETURN
+ # basename + strip extensions .tbz, .tgz, .tlz and .txz
+ echo "$1" | sed 's?.*/??;s/\.t[bglx]z$//'
}
# This makes "sort" run much faster:
@@ -149,7 +138,7 @@ cat_except() {
}
extract_links() {
- sed -n 's,^( *cd \([^ ;][^ ;]*\) *; *rm -rf \([^ )][^ )]*\) *) *$,\1/\2,p'
+ sed -n 's,^[ ]*( [ ]*cd[ ]* \(.*\) [ ]*; [ ]*rm [ ]*-rf[ ]* \(.*\) [ ]*)[ ]*$,\1/\2,p'
}
preserve_file() {
@@ -228,7 +217,7 @@ delete_links() {
if [ -L "$ROOT/$LINK" ]; then
if [ ! "$WARN" = "true" ]; then
echo " --> Deleting symlink $ROOT/$LINK"
- rm -f $ROOT/$LINK
+ rm -f "$ROOT/$LINK"
else
echo " --> $ROOT/$LINK (symlink) would be deleted"
fi
@@ -271,38 +260,14 @@ delete_cats() {
}
package_name() {
- STRING=$(pkgbase $1)
+ STRING=$(pkgbase $1 | sed 's?-[^-]*-[^-]*-[^-]*$??')
# If we don't do this, commands run later will take the '-' to be an option
# and will destroy the package database. Packages should not contain spaces
# in them. Normally this type of problem results from a command line typo.
if [ "$(echo $STRING | cut -b 1)" = "-" ]; then
STRING="malformed-package-name-detected"
fi
- # Check for old style package name with one segment:
- if [ "$(echo $STRING | cut -f 1 -d -)" = "$(echo $STRING | cut -f 2 -d -)" ]; then
- echo $STRING
- else # has more than one dash delimited segment
- # Count number of segments:
- INDEX=1
- while [ ! "$(echo $STRING | cut -f $INDEX -d -)" = "" ]; do
- INDEX=$(expr $INDEX + 1)
- done
- INDEX=$(expr $INDEX - 1) # don't include the null value
- # If we don't have four segments, return the old-style (or out of spec) package name:
- if [ "$INDEX" = "2" -o "$INDEX" = "3" ]; then
- echo $STRING
- else # we have four or more segments, so we'll consider this a new-style name:
- NAME=$(expr $INDEX - 3)
- NAME="$(echo $STRING | cut -f 1-$NAME -d -)"
- echo $NAME
- # cruft for later ;)
- #VER=$(expr $INDEX - 2)
- #VER="$(echo $STRING | cut -f $VER -d -)"
- #ARCH=$(expr $INDEX - 1)
- #ARCH="$(echo $STRING | cut -f $ARCH -d -)"
- #BUILD="$(echo $STRING | cut -f $INDEX -d -)"
- fi
- fi
+ echo $STRING
}
# Conversion to 'comm' utility by Mark Wisdom.
@@ -329,7 +294,7 @@ remove_packages() {
fi
if [ ! -e $ADM_DIR/packages/$PKGNAME ]; then
- long_package=$(ls -1 $ADM_DIR/packages/${PKGNAME}* | grep -m 1 "${PKGNAME}-[^-]*-[^-]*-[^-]*$")
+ long_package=$(ls -1 $ADM_DIR/packages/${PKGNAME}* | grep -m 1 "^${PKGNAME}-[^-]*-[^-]*-[^-]*$")
if [ -e "$long_package" ]; then
PKGNAME=$(basename $long_package)
fi
diff --git a/source/a/pkgtools/scripts/setup.80.make-bootdisk b/source/a/pkgtools/scripts/setup.80.make-bootdisk
index a5d442354..1f0202a53 100644
--- a/source/a/pkgtools/scripts/setup.80.make-bootdisk
+++ b/source/a/pkgtools/scripts/setup.80.make-bootdisk
@@ -5,13 +5,12 @@ if [ -r /usr/lib/setup/setup ]; then
else
RDIR=/dev/null
fi
-NDIR=/dev/null
TMP=/var/log/setup/tmp
if [ ! -d $TMP ]; then
mkdir -p $TMP
fi
-if [ -z "$T_PX" ]; then
+if [ -z "$1" ]; then
T_PX=/
else
T_PX="$1"
@@ -22,6 +21,16 @@ else
ROOT_DEVICE="$2"
fi
+if [ -r $T_PX/usr/share/syslinux/mbr.bin ]; then
+ MBR_BIN=$T_PX/usr/share/syslinux/mbr.bin
+elif [ -r /usr/share/syslinux/mbr.bin ]; then
+ MBR_BIN=/usr/share/syslinux/mbr.bin
+else
+ dialog --title "ERROR: USB BOOT STICK NOT CREATED" --msgbox \
+ "Master Boot Record file mbr.bin not found. This script requires that the syslinux package is installed." 6 60
+ exit
+fi
+
while [ 0 ]; do # the bootdisk menu loop
# Run "rescan-scsi-bus -l" to get an up to date overview of devices:
/sbin/rescan-scsi-bus -l 1>$RDIR 2>$RDIR
@@ -38,7 +47,7 @@ while [ 0 ]; do # the bootdisk menu loop
fi
dialog --title "MAKE USB FLASH BOOT" --default-item "$DEFAULTITEM" --menu \
"If your computer supports booting from a USB device, it is recommended that you make \
-a USB boot stick for your system at this time. It will boot your computer straight \
+a USB boot stick for your system at this time. It will boot your computer straight \
into the root filesystem on $ROOT_DEVICE. \n\
\n\
Please insert a USB flash memory stick and then press ENTER to create a boot stick. \n\
@@ -89,31 +98,56 @@ otherwise select 'No'." 12 70
dialog --title "CREATING USB BOOT STICK" --infobox "Creating SYSLINUX bootdisk for \
$ROOT_DEVICE on /dev/$STICK." 3 64
- # Determine max size of the filesystem (in KB) we want to create:
- USBSIZE=$(( $(cat /sys/block/$STICK/size) / 2048))
- if [ $USBSIZE -lt 512 ]; then DOSSIZE=$(($USBSIZE*1024))
- else DOSSIZE=$((512*1024))
- fi
- # Hack from Pat. If we're wasting a whole stick, who cares if the partition is
- # extra-small, as long as the kernel fits? Also, FAT12 is the least problematic.
- DOSSIZE=15861
+ # Create a 16M partition with FAT16. This should be large enough for any kernel (for now).
+ PARTSIZE="+16384K"
+ # Zero out master boot record and then initialize it with one bootable dos partition
+ dd if=/dev/zero of=/dev/$STICK bs=512 count=1 1> $RDIR 2> $RDIR
+ echo "PARTSIZE=$PARTSIZE" 1> $RDIR
+ fdisk /dev/$STICK << EOF 1> $RDIR 2> $RDIR
+n
+p
+1
+2048
+$PARTSIZE
+t 1
+6
+a
+w
+EOF
if [ -x /sbin/mkdosfs ]; then
- /sbin/mkdosfs -I -n USBSLACK -F 12 /dev/$STICK $DOSSIZE 1> /dev/null 2> /dev/null
+ /sbin/mkdosfs -I -n USBSLACK -F 16 /dev/${STICK}1 1> $RDIR 2> $RDIR
+ else
+ chroot $T_PX /sbin/mkdosfs -I -n USBSLACK -F 16 /dev/${STICK}1 1> $RDIR 2> $RDIR
+ fi
+ sync
+ # install syslinux
+ if which syslinux-nomtools 1> $RDIR 2> $RDIR ; then
+ syslinux-nomtools -i -s /dev/${STICK}1 1> $RDIR 2> $RDIR
+ elif which strace 1> $RDIR 2> $RDIR ; then
+ # There is a race condition between udev >= 214 and mtools which causes
+ # the regular version of syslinux to fail when installing to USB, but
+ # strace changes the timing just enough that it usually works:
+ strace syslinux -i -s /dev/${STICK}1 1> $RDIR 2> $RDIR
else
- chroot $T_PX /sbin/mkdosfs -I -n USBSLACK -F 12 /dev/$STICK $DOSSIZE 1> /dev/null 2> /dev/null
+ # This might work when the issues with mtools and udev are addressed,
+ # or if syslinux is eventually able to work around them.
+ syslinux -i -s /dev/${STICK}1 1> $RDIR 2> $RDIR
fi
+ # make the device bootable:
+ echo "dd if=$MBR_BIN of=/dev/$STICK" 1> $RDIR 2> $RDIR
+ dd if=$MBR_BIN of=/dev/$STICK 1> $RDIR 2> $RDIR
+ sync
+ # mount the device and write some configuration files
if [ ! -d $TMP/bootdisk ]; then
- mkdir $TMP/bootdisk
+ mkdir $TMP/bootdisk 2> $RDIR
fi
- mount -t vfat /dev/$STICK $TMP/bootdisk 1> /dev/null 2> /dev/null
- if [ -r $T_PX/vmlinuz ]; then
- cp $T_PX/vmlinuz $TMP/bootdisk/vmlinuz
- elif [ -r $T_PX/boot/vmlinuz ]; then
- cp $T_PX/boot/vmlinuz $TMP/bootdisk/vmlinuz
+ mount -t vfat /dev/${STICK}1 $TMP/bootdisk 1> $RDIR 2> $RDIR
+ if [ -r $T_PX/boot/vmlinuz ]; then
+ cp $T_PX/boot/vmlinuz $TMP/bootdisk/vmlinuz 1> $RDIR 2> $RDIR
+ elif [ -r $T_PX/vmlinuz ]; then
+ cp $T_PX/vmlinuz $TMP/bootdisk/vmlinuz 1> $RDIR 2> $RDIR
fi
- # We don't need the isolinux bootloader with syslinux do we?
- #cp $T_PX/usr/share/syslinux/isolinux.bin $TMP/bootdisk/
- cat << EOF > $TMP/bootdisk/message.txt
+ cat << EOF > $TMP/bootdisk/message.txt 2> $RDIR
Welcome to the 09Slackware07 Linux custom USB boot stick!
@@ -131,7 +165,7 @@ kernel parameters you might need depending on your hardware, and which
drivers are included in your kernel.
EOF
- cat << EOF > $TMP/bootdisk/syslinux.cfg
+ cat << EOF > $TMP/bootdisk/syslinux.cfg 2> $RDIR
default vmlinuz root=$ROOT_DEVICE vga=normal ro
prompt 1
timeout 6000
@@ -147,7 +181,7 @@ label mount
kernel vmlinuz
append root=$ROOT_DEVICE vga=normal ro
EOF
- cat << EOF > $TMP/bootdisk/f1.txt
+ cat << EOF > $TMP/bootdisk/f1.txt 2> $RDIR
STANDARD MODES:
To make the kernel prompt for standard video modes use: vga=ask
@@ -169,9 +203,9 @@ EOF
EOF
if [ "$(uname -m)" == "x86_64" ]; then # also install an EFI bootloader
- mkdir -p $TMP/bootdisk/EFI/BOOT 1> /dev/null 2> /dev/null
- cp $T_PX/boot/elilo-x86_64.efi $TMP/bootdisk/EFI/BOOT/BOOTX64.EFI 1> /dev/null 2> /dev/null
- cat << EOF > $TMP/bootdisk/EFI/BOOT/message.txt 2> /dev/null
+ mkdir -p $TMP/bootdisk/EFI/BOOT 1> $RDIR 2> $RDIR
+ cp $T_PX/boot/elilo-x86_64.efi $TMP/bootdisk/EFI/BOOT/BOOTX64.EFI 1> $RDIR 2> $RDIR
+ cat << EOF > $TMP/bootdisk/EFI/BOOT/message.txt 2> $RDIR
Welcome to the Slackware Linux custom USB boot stick!
@@ -190,7 +224,7 @@ drivers are included in your kernel.
Hit ENTER to boot:
EOF
- cat << EOF > $TMP/bootdisk/EFI/BOOT/elilo.conf 2> /dev/null
+ cat << EOF > $TMP/bootdisk/EFI/BOOT/elilo.conf 2> $RDIR
chooser=simple
message=message.txt
delay=300
@@ -202,10 +236,12 @@ image=/vmlinuz
append="root=$ROOT_DEVICE vga=normal ro"
EOF
fi # end EFI installation
- umount /dev/$STICK
+ sync
+ umount /dev/${STICK}1
rm -r $TMP/bootdisk
- # Make the device bootable:
- syslinux -s /dev/$STICK 1> /dev/null 2> /dev/null
+ # Sometimes the nomtools version of syslinux will leave the volume mounted,
+ # so umount again:
+ umount /dev/${STICK}1 2> $RDIR
if [ "$T_PX" = "/" ]; then
dialog --title "USB BOOT STICK CREATED" --msgbox \
"The USB boot stick has been successfully created on device /dev/$STICK." 6 60
diff --git a/source/a/pkgtools/scripts/upgradepkg b/source/a/pkgtools/scripts/upgradepkg
index 6b0c2abb4..5e0299806 100644
--- a/source/a/pkgtools/scripts/upgradepkg
+++ b/source/a/pkgtools/scripts/upgradepkg
@@ -1,7 +1,8 @@
-#!/bin/sh
+#!/bin/bash
# Copyright 1999 Patrick Volkerding, Moorhead, Minnesota, USA
# Copyright 2001, 2002, 2003 Slackware Linux, Inc., Concord, California, USA
-# Copyright 2009 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2009, 2015 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2015 Michal Nazarewicz <mina86@mina86.com>
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -34,29 +35,20 @@
# Support new compression types and package extensions.
# Converted to use new pkgbase() function to remove pathname and
# valid package extensions.
+#
+# Sat 17 Jan 16:21:32 UTC 2015 mina86
+# Various optimisation mostly resolving around avoiding having to fork
+# and call cut, basename and other helper commands. Slight
+# refactoring of code calling removepkg.
# Return a package name that has been stripped of the dirname portion
# and any of the valid extensions (only):
pkgbase() {
- PKGEXT=$(echo $1 | rev | cut -f 1 -d . | rev)
- case $PKGEXT in
- 'tgz' )
- PKGRETURN=$(basename $1 .tgz)
- ;;
- 'tbz' )
- PKGRETURN=$(basename $1 .tbz)
- ;;
- 'tlz' )
- PKGRETURN=$(basename $1 .tlz)
- ;;
- 'txz' )
- PKGRETURN=$(basename $1 .txz)
- ;;
- *)
- PKGRETURN=$(basename $1)
- ;;
+ PKGRETURN=${1##*/}
+ case "$PKGRETURN" in *.t[gblx]z)
+ PKGRETURN=${PKGRETURN%.*}
esac
- echo $PKGRETURN
+ echo "$PKGRETURN"
}
usage() {
@@ -101,6 +93,8 @@ umask 022
# $ROOT defined?
if [ -d "$ROOT" ]; then
export ROOT
+else
+ unset ROOT
fi
# --help or no args?
@@ -147,173 +141,158 @@ done # processing args
# old package.
package_name() {
- STRING=$(pkgbase $1)
- # Check for old style package name with one segment:
- if [ "$(echo $STRING | cut -f 1 -d -)" = "$(echo $STRING | cut -f 2 -d -)" ]; then
+ STRING=$(pkgbase "$1")
+ case "$STRING" in
+ *-*-*-*)
+ # At least four segments, strip version arch and build and return name:
+ echo "${STRING%-*-*-*}"
+ # cruft for later ;)
+ # BUILD=${STRING##*-}
+ # STRING=${STRING%*-}
+ # ARCH=${STRING##*-}
+ # STRING=${STRING%*-}
+ # VER=${STRING%*-}
+ ;;
+ *)
+ # Old style package name with one segment or we don't have four
+ # segments: return the old-style (or out of spec) package name.
echo $STRING
- else # has more than one dash delimited segment
- # Count number of segments:
- INDEX=1
- while [ ! "$(echo $STRING | cut -f $INDEX -d -)" = "" ]; do
- INDEX=$(expr $INDEX + 1)
- done
- INDEX=$(expr $INDEX - 1) # don't include the null value
- # If we don't have four segments, return the old-style (or out of spec) package name:
- if [ "$INDEX" = "2" -o "$INDEX" = "3" ]; then
- echo $STRING
- else # we have four or more segments, so we'll consider this a new-style name:
- NAME=$(expr $INDEX - 3)
- NAME="$(echo $STRING | cut -f 1-$NAME -d -)"
- echo $NAME
- # cruft for later ;)
- #VER=$(expr $INDEX - 2)
- #VER="$(echo $STRING | cut -f $VER -d -)"
- #ARCH=$(expr $INDEX - 1)
- #ARCH="$(echo $STRING | cut -f $ARCH -d -)"
- #BUILD="$(echo $STRING | cut -f $INDEX -d -)"
- fi
- fi
+ esac
}
ERRCODE=0
# Main processing loop:
-while [ ! "$1" = "" ]; do
-
-# Simple package integrity check:
-if [ ! -f $(echo $1 | cut -f 2 -d '%') ]; then
- ERRCODE=4
- echo "Cannot install $1: file not found"
- shift 1
- continue;
-fi
+for ARG; do
+ OLD=${ARG%'%'*} # first segment, = $ARG if no %
+ NEW=${ARG#*'%'} # second segment, = $ARG if no %
+
+ # Simple package integrity check:
+ if ! [ -f "$NEW" ]; then
+ ERRCODE=4
+ echo "Cannot install $ARG: file not found"
+ continue;
+ fi
-# Figure out the names of the old and new packages:
-OLD=$(echo $1 | cut -f 1 -d '%')
-NEW=$(echo $1 | cut -f 2 -d '%')
-INCOMINGDIR=$(dirname $NEW)
-# These are the package names with the extension:
-NNAME=$(basename $NEW)
-ONAME=$(basename $OLD)
-# These are the package names without the extension:
-OLD=$(pkgbase $OLD)
-NEW=$(pkgbase $NEW)
-
-# Make sure the extension is valid:
-if [ "$NNAME" = "$NEW" ]; then
- # We won't throw an ERRCODE for this, but the package is skipped:
- echo "Cannot install $1: invalid package extension"
- shift 1
- continue;
-fi
+ # Figure out the names of the old and new packages:
+ INCOMINGDIR=$(dirname $NEW)
+ # These are the package names with the extension:
+ NNAME=${NEW##*/}
+ ONAME=${OLD##*/}
+ # These are the package names without the extension:
+ OLD=$(pkgbase $OLD)
+ NEW=$(pkgbase $NEW)
+
+ # Make sure the extension is valid:
+ if [ "$NNAME" = "$NEW" ]; then
+ # We won't throw an ERRCODE for this, but the package is skipped:
+ echo "Cannot install $OLD: invalid package extension"
+ continue;
+ fi
-# Check and fix the old package name:
-SHORT="$(package_name $OLD)"
-if [ ! -r $ROOT/var/log/packages/$OLD ]; then
- if ls $ROOT/var/log/packages/$SHORT* 1> /dev/null 2> /dev/null ; then
- for installed_package in $ROOT/var/log/packages/$SHORT* ; do
- if [ "$(package_name $installed_package)" = "$SHORT" ]; then # found one
- OLD="$(basename $installed_package)"
- break
- fi
- done
+ # Check and fix the old package name:
+ SHORT="$(package_name $OLD)"
+ if [ ! -r $ROOT/var/log/packages/$OLD ]; then
+ if ls $ROOT/var/log/packages/$SHORT* 1> /dev/null 2> /dev/null ; then
+ for installed_package in $ROOT/var/log/packages/$SHORT* ; do
+ if [ "$(package_name $installed_package)" = "$SHORT" ]; then # found one
+ OLD="${installed_package##*/}"
+ break
+ fi
+ done
+ fi
fi
-fi
-# Test to see if both the old and new packages are where we expect them
-# to be -- skip to the next package (or package pair) if anything's wrong:
+ # Test to see if both the old and new packages are where we expect them
+ # to be -- skip to the next package (or package pair) if anything's wrong:
-if [ ! -r $ROOT/var/log/packages/$OLD ]; then
- if [ ! "$INSTALL_NEW" = "yes" ]; then
- if [ "$DRY_RUN" = "true" ]; then
- echo "$OLD would not be upgraded (no installed package named $SHORT)."
- else
- echo
- echo "Error: there is no installed package named $OLD."
- echo " (looking for $ROOT/var/log/packages/$OLD)"
- echo
- fi
- ERRCODE=1
- else # --install-new was given, so install the new package:
- if [ "$DRY_RUN" = "true" ]; then
- echo "$NEW would be installed (new package)."
- else
- cat << EOF
+ if [ ! -r $ROOT/var/log/packages/$OLD ]; then
+ if [ ! "$INSTALL_NEW" = "yes" ]; then
+ if [ "$DRY_RUN" = "true" ]; then
+ echo "$OLD would not be upgraded (no installed package named $SHORT)."
+ else
+ echo
+ echo "Error: there is no installed package named $OLD."
+ echo " (looking for $ROOT/var/log/packages/$OLD)"
+ echo
+ fi
+ ERRCODE=1
+ else # --install-new was given, so install the new package:
+ if [ "$DRY_RUN" = "true" ]; then
+ echo "$NEW would be installed (new package)."
+ else
+ cat << EOF
+==============================================================================
| Installing new package $INCOMINGDIR/$NNAME
+==============================================================================
EOF
- /sbin/installpkg $INCOMINGDIR/$NNAME
+ /sbin/installpkg $INCOMINGDIR/$NNAME
+ fi
fi
- fi
- shift 1
- continue;
-elif [ ! -r "$INCOMINGDIR/$NNAME" ]; then
- if [ "$DRY_RUN" = "true" ]; then
- echo "$NEW incoming package not found (command line)."
- else
- echo
- echo "Error: incoming package $INCOMINGDIR/$NNAME not found."
- echo
- fi
- shift 1
- ERRCODE=1
- continue;
-fi
-
-# Unless --reinstall was given, compare the package names
-# and skip any exact matches:
-if [ ! "$REINSTALL" = "true" ]; then
- if [ "$OLD" = "$NEW" ]; then
+ continue;
+ elif [ ! -r "$INCOMINGDIR/$NNAME" ]; then
if [ "$DRY_RUN" = "true" ]; then
- echo "$NEW would be skipped (already installed)."
+ echo "$NEW incoming package not found (command line)."
else
- cat << EOF
+ echo
+ echo "Error: incoming package $INCOMINGDIR/$NNAME not found."
+ echo
+ fi
+ ERRCODE=1
+ continue;
+ fi
+
+ # Unless --reinstall was given, compare the package names
+ # and skip any exact matches:
+ if [ ! "$REINSTALL" = "true" ]; then
+ if [ "$OLD" = "$NEW" ]; then
+ if [ "$DRY_RUN" = "true" ]; then
+ echo "$NEW would be skipped (already installed)."
+ else
+ cat << EOF
+==============================================================================
| Skipping package $NEW (already installed)
+==============================================================================
EOF
+ fi
+ continue;
fi
- shift 1
- continue;
fi
-fi
-# Showtime. Let's do the upgrade. First, we will rename all the
-# installed packages with this basename to make them easy to remove later:
+ # Showtime. Let's do the upgrade. First, we will rename all the
+ # installed packages with this basename to make them easy to remove later:
-TIMESTAMP=$(date +%Y-%m-%d,%T)
-SHORT="$(package_name $OLD)"
-if [ "$DRY_RUN" = "true" ]; then
- echo -n "$NEW would upgrade: "
- for installed_package in $ROOT/var/log/packages/$SHORT* ; do
- if [ "$(package_name $installed_package)" = "$SHORT" ]; then
- echo -n "$(pkgbase $installed_package)"
+ TIMESTAMP=$(date +%Y-%m-%d,%T)
+ SHORT="$(package_name $OLD)"
+ if [ "$DRY_RUN" = "true" ]; then
+ echo -n "$NEW would upgrade: "
+ for installed_package in $ROOT/var/log/packages/$SHORT* ; do
+ if [ "$(package_name $installed_package)" = "$SHORT" ]; then
+ echo -n "$(pkgbase $installed_package)"
+ fi
+ done
+ echo
+ continue
fi
+ for installed_package in $ROOT/var/log/packages/$SHORT* ; do
+ if [ "$(package_name $installed_package)" = "$SHORT" ]; then
+ mv $installed_package ${installed_package}-upgraded-$TIMESTAMP
+ fi
done
- echo
- shift 1
- continue
-fi
-for installed_package in $ROOT/var/log/packages/$SHORT* ; do
- if [ "$(package_name $installed_package)" = "$SHORT" ]; then
- mv $installed_package ${installed_package}-upgraded-$TIMESTAMP
- fi
-done
-for installed_script in $ROOT/var/log/scripts/$SHORT* ; do
- if [ "$(package_name $installed_script)" = "$SHORT" ]; then
- if [ -r $installed_script ]; then
- mv $installed_script ${installed_script}-upgraded-$TIMESTAMP
+ for installed_script in $ROOT/var/log/scripts/$SHORT* ; do
+ if [ "$(package_name $installed_script)" = "$SHORT" ]; then
+ if [ -r $installed_script ]; then
+ mv $installed_script ${installed_script}-upgraded-$TIMESTAMP
+ fi
fi
- fi
-done
+ done
-# Print a banner for the current upgrade:
-cat << EOF
+ # Print a banner for the current upgrade:
+ cat << EOF
+==============================================================================
| Upgrading $OLD package using $INCOMINGDIR/$NNAME
@@ -321,67 +300,49 @@ cat << EOF
EOF
-# Next, the new package is pre-installed:
-if [ "$VERBOSE" = "verbose" ]; then
- /sbin/installpkg $INCOMINGDIR/$NNAME
- RETCODE=$?
-else
- echo "Pre-installing package $NEW..."
- /sbin/installpkg $INCOMINGDIR/$NNAME 1> /dev/null
- RETCODE=$?
-fi
-# Make sure that worked:
-if [ ! $RETCODE = 0 ]; then
- echo "ERROR: Package $INCOMINGDIR/$NNAME did not install"
- echo "correctly. You may need to reinstall your old package"
- echo "to avoid problems. Make sure the new package is not"
- echo "corrupted."
- sleep 30
- # Skip this package, but still try to proceed. Good luck...
- shift 1
- continue;
-fi
-
-# Now, the leftovers from the old package(s) can go. Pretty simple, huh? :)
-if [ -d "$ROOT" ]; then
- ( cd $ROOT/var/log/packages
- for rempkg in *-$TIMESTAMP ; do
- if [ "$VERBOSE" = "verbose" ]; then
- ROOT=$ROOT /sbin/removepkg $rempkg
- else
- ROOT=$ROOT /sbin/removepkg $rempkg | grep -v "Skipping\." | grep -v "Removing files:"
- fi
- done
- )
-else
- ( cd /var/log/packages
- for rempkg in *-$TIMESTAMP ; do
- if [ "$VERBOSE" = "verbose" ]; then
- /sbin/removepkg $rempkg
- else
- /sbin/removepkg $rempkg | grep -v "Skipping\." | grep -v "Removing files:"
- fi
- done
- )
-fi
-echo
-
-# Again! Again!
-# Seriously, the reinstalling of a package can be crucial if any files
-# shift location, so we should always reinstall as the final step:
-if [ ! "$NOT_PARANOID" = "true" ]; then
- /sbin/installpkg $INCOMINGDIR/$NNAME
-fi
+ # Next, the new package is pre-installed:
+ if [ "$VERBOSE" = "verbose" ]; then
+ /sbin/installpkg $INCOMINGDIR/$NNAME
+ RETCODE=$?
+ else
+ echo "Pre-installing package $NEW..."
+ /sbin/installpkg $INCOMINGDIR/$NNAME 1> /dev/null
+ RETCODE=$?
+ fi
+ # Make sure that worked:
+ if [ ! $RETCODE = 0 ]; then
+ echo "ERROR: Package $INCOMINGDIR/$NNAME did not install"
+ echo "correctly. You may need to reinstall your old package"
+ echo "to avoid problems. Make sure the new package is not"
+ echo "corrupted."
+ sleep 30
+ # Skip this package, but still try to proceed. Good luck...
+ continue;
+ fi
-echo "Package $OLD upgraded with new package $INCOMINGDIR/$NNAME."
-ERRCODE=0
+ # Now, the leftovers from the old package(s) can go. Pretty simple, huh? :)
+ for rempkg in "$ROOT/var/log/packages/"*"-$TIMESTAMP"; do
+ if [ "$VERBOSE" = "verbose" ]; then
+ /sbin/removepkg "${rempkg##*/}"
+ else
+ /sbin/removepkg "${rempkg##*/}" | grep -v 'Skipping\.\|Removing files:'
+ fi
+ done
+ echo
-# Process next parameter:
-shift 1
+ # Again! Again!
+ # Seriously, the reinstalling of a package can be crucial if any files
+ # shift location, so we should always reinstall as the final step:
+ if [ ! "$NOT_PARANOID" = "true" ]; then
+ /sbin/installpkg $INCOMINGDIR/$NNAME
+ fi
+ echo "Package $OLD upgraded with new package $INCOMINGDIR/$NNAME."
+ ERRCODE=0
done
if [ ! "$DRY_RUN" = "true" ]; then
echo
fi
exit $ERRCODE
+
diff --git a/source/a/procps-ng/procps-ng.SlackBuild b/source/a/procps-ng/procps-ng.SlackBuild
new file mode 100755
index 000000000..e46afd2ce
--- /dev/null
+++ b/source/a/procps-ng/procps-ng.SlackBuild
@@ -0,0 +1,251 @@
+#!/bin/sh
+
+# Copyright 2005-2016 Patrick J. Volkerding, Sebeka, Minnesota, 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.
+
+PKGNAM=procps-ng
+VERSION=${VERSION:-3.3.11}
+PSMISCVER=${PSMISCVER:-22.21}
+PROCINFONGVER=${PROCINFONGVER:-2.0.304}
+PROCINFOVER=${PROCINFOVER:-18}
+BUILD=${BUILD:-1}
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i586 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$VERSION || exit 1
+tar xvf $CWD/psmisc-$PSMISCVER.tar.xz || exit 1
+tar xvf $CWD/procinfo-ng-$PROCINFONGVER.tar.xz || exit 1
+tar xvf $CWD/procinfo-$PROCINFOVER.tar.xz || exit 1
+chown -R root:root .
+
+find -L . \
+ \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
+ -o -perm 511 \) -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
+ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/ \
+ --bindir=/bin \
+ --sbindir=/sbin \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --includedir=/usr/include \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --datarootdir=/usr/share \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --enable-static=no \
+ --disable-silent-rules \
+ --disable-rpath \
+ --enable-watch8bit \
+ --enable-skill \
+ --enable-sigwinch \
+ --enable-w-from \
+ --disable-kill \
+ --without-systemd \
+ --disable-modern-top \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Move the shared library to $PKG/lib${LIBDIRSUFFIX}:
+mkdir -p $PKG/lib${LIBDIRSUFFIX}
+( cd $PKG/usr/lib${LIBDIRSUFFIX}
+ for file in lib*.so.?.* ; do
+ mv $file ../../lib${LIBDIRSUFFIX}
+ ln -sf ../../lib${LIBDIRSUFFIX}/$file .
+ done
+ cp -a lib*.so.? ../../lib${LIBDIRSUFFIX}
+)
+
+# Remove .la file(s):
+rm -f $PKG/usr/lib${LIBDIRSUFFIX}/*.la
+
+# It seems that upstream has shuffled the location of many tools with the
+# 3.3.11 release. To me, this just doesn't make sense to break any existing
+# scripts that might be using an absolute path, or to move tools that might
+# be needed before /usr is mounted into /usr. So, we will make sure that
+# everything is moved back to where the Slackware locations have always been.
+# These tools belong in /bin:
+mkdir -p $PKG/bin
+for file in free killall ps ; do
+ find $PKG -name $file -exec mv "{}" $PKG/bin \;
+done
+# These tools belong in /sbin:
+mkdir -p $PKG/sbin
+for file in pidof sysctl ; do
+ find $PKG -name $file -exec mv "{}" $PKG/sbin \;
+done
+mkdir -p $PKG/usr/bin
+# These tools belong in /usr/bin:
+for file in fuser lsdev peekfd pgrep pkill pmap procinfo prtstat pstree pwdx skill slabtop snice socklist tload top uptime vmstat w watch ; do
+ find $PKG -name $file -exec mv "{}" $PKG/usr/bin \;
+done
+# These symlinks belong in /bin:
+rm -f $PKG/bin/pidof
+ln -sf /sbin/pidof $PKG/bin/pidof
+# These symlinks belong in /usr/bin:
+rm -f $PKG/usr/bin/free $PKG/usr/bin/pidof $PKG/usr/bin/ps
+ln -sf /bin/free $PKG/usr/bin/free
+ln -sf /sbin/pidof $PKG/usr/bin/pidof
+ln -sf /bin/ps $PKG/usr/bin/ps
+
+# Create /etc/sysctl.d:
+mkdir -p $PKG/etc/sysctl.d
+
+cd psmisc-$PSMISCVER || exit 1
+
+# Fix fuser -s:
+zcat $CWD/psmisc.3638cc55b4d08851faba46635d737b24d016665b.diff.gz | patch -p1 --verbose || exit 1
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/psmisc-$PSMISCVER \
+ --disable-silent-rules \
+ --disable-rpath \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Move "killall" to the traditional location:
+mv $PKG/usr/bin/killall $PKG/bin
+ln -s /bin/killall $PKG/usr/bin/killall
+
+mkdir -p $PKG/usr/doc/psmisc-$PSMISCVER
+cp -a ChangeLog COPYING* NEWS README* $PKG/usr/doc/psmisc-$PSMISCVER
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$PKG/usr/doc/psmisc-$PSMISCVER
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+cd ../procinfo-ng-$PROCINFONGVER || exit 1
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/procinfo-ng-$PROCINFONGVER \
+ --enable-maintainer-mode \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || exit 1
+make install DESTDIR=$PKG || exit 1
+
+mkdir -p $PKG/usr/doc/procinfo-ng-$PROCINFONGVER
+cp -a GPL-2.txt LGPL-2.1.txt LICENSE.txt COPYING* README* $PKG/usr/doc/procinfo-ng-$PROCINFONGVER
+
+# Now install a couple of scripts from the original procinfo package.
+cd ../procinfo-$PROCINFOVER || exit 1
+install -m 0755 lsdev.pl $PKG/usr/bin/lsdev
+install -m 0755 socklist.pl $PKG/usr/bin/socklist
+install -m 0644 lsdev.8 socklist.8 $PKG/usr/man/man8
+
+# Strip binaries:
+( cd $PKG
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+)
+
+# Compress and link manpages, if any:
+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 | grep -v '\.gz$') ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+# Back to the procps-ng main source directory...
+cd ..
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS ChangeLog COPYING* NEWS README* \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$PKG/usr/doc/$PKGNAM-$VERSION
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/source/a/procps-ng/psmisc.3638cc55b4d08851faba46635d737b24d016665b.diff b/source/a/procps-ng/psmisc.3638cc55b4d08851faba46635d737b24d016665b.diff
new file mode 100644
index 000000000..d930f6f23
--- /dev/null
+++ b/source/a/procps-ng/psmisc.3638cc55b4d08851faba46635d737b24d016665b.diff
@@ -0,0 +1,25 @@
+diff --git a/ChangeLog b/ChangeLog
+index fd1cccf..e5f784c 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1,3 +1,7 @@
++Changes in 22.22
++================
++ * Fixed typo in fuser which has -M on Debian #740275
++
+ Changes in 22.21
+ ================
+ * Missing comma in fuser(1) added Debian #702391
+diff --git a/src/fuser.c b/src/fuser.c
+index b485f65..389b302 100644
+--- a/src/fuser.c
++++ b/src/fuser.c
+@@ -1174,7 +1174,7 @@ int main(int argc, char *argv[])
+ usage(_("No process specification given"));
+
+ /* Check if -M flag was used and if so check mounts */
+- if (opts * OPT_ISMOUNTPOINT) {
++ if (opts & OPT_ISMOUNTPOINT) {
+ check_mountpoints(&mounts, &names_head, &names_tail);
+ }
+
diff --git a/source/a/procps-ng/slack-desc b/source/a/procps-ng/slack-desc
new file mode 100644
index 000000000..0573fcb04
--- /dev/null
+++ b/source/a/procps-ng/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 ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+procps-ng: procps-ng (utilities for displaying process information)
+procps-ng:
+procps-ng: The procps-ng package provides the classic set of utilities used to
+procps-ng: display information about the processes currently running on the
+procps-ng: machine.
+procps-ng:
+procps-ng: Homepage: http://sourceforge.net/projects/procps-ng/
+procps-ng:
+procps-ng:
+procps-ng:
+procps-ng:
diff --git a/source/a/procps/procinfo.gcc3.diff b/source/a/procps/procinfo.gcc3.diff
deleted file mode 100644
index 96a3dbb19..000000000
--- a/source/a/procps/procinfo.gcc3.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./routines.c.orig 2001-02-24 15:30:45.000000000 -0800
-+++ ./routines.c 2003-02-07 13:38:09.000000000 -0800
-@@ -390,7 +390,7 @@
- unsigned int d, h, m, s;
- static char buf[22];
-
-- t = t * 100 / HZ;
-+ t = t * 100. / HZ;
- d = (int) (t / 8640000);
- t = t - (long) (d * 8640000);
- h = (int) (t / 360000);
diff --git a/source/a/procps/procinfo.lsm b/source/a/procps/procinfo.lsm
deleted file mode 100644
index 70ff559f6..000000000
--- a/source/a/procps/procinfo.lsm
+++ /dev/null
@@ -1,15 +0,0 @@
-Begin3
-Title: procinfo
-Version: 18
-Entered-date: 02MAR01
-Description: A utility to prettyprint /proc/*
-Keywords: procinfo, system info
-Author: svm@kozmix.cistron.nl (Sander van Malssen)
-Maintained-by: svm@kozmix.cistron.nl (Sander van Malssen)
-Primary-site: ftp.cistron.nl /pub/people/svm
- 23k procinfo-18.tar.gz
-Alternate-site: metalab.unc.edu /pub/Linux/system/status/ps
-Alternate-site: tsx-11.mit.edu /pub/linux/sources/usr.bin
-Platforms: Linux 1.0.x - 2.4.x
-Copying-policy: GNU Public License
-End
diff --git a/source/a/procps/procps-3.2.7-ps-cgroup.patch b/source/a/procps/procps-3.2.7-ps-cgroup.patch
deleted file mode 100644
index de5c6b269..000000000
--- a/source/a/procps/procps-3.2.7-ps-cgroup.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-diff -burN procps-3.2.8/ps/output.c procps-3.2.8.cgroups/ps/output.c
---- procps-3.2.8/ps/output.c 2009-05-10 14:24:50.000000000 -0500
-+++ procps-3.2.8.cgroups/ps/output.c 2010-12-04 12:35:56.000000000 -0600
-@@ -1099,6 +1099,39 @@
- return snprintf(outbuf, COLWID, "*");
- }
-
-+static int pr_cgroup(char *restrict const outbuf, const proc_t *restrict const pp){
-+ char filename[48];
-+ FILE *fd;
-+ int counter = 0;
-+ int c;
-+ int is_cgroup = 0;
-+
-+ outbuf[0]='\0';
-+ snprintf(filename, sizeof filename, "/proc/%d/cgroup", pp->tgid);
-+ fd = fopen(filename, "r");
-+ if (likely(fd == NULL)) goto fail;
-+ while (( (c = fgetc(fd)) != EOF) && (counter<665)) {
-+ if (is_cgroup == 0) {
-+ if (c == ':') {
-+ is_cgroup = 1;
-+ if (counter>0)
-+ outbuf[counter++]=';';
-+ }
-+ }else
-+ if ((c == '\n') || (c == '\0'))
-+ is_cgroup = 0;
-+ else
-+ outbuf[counter++]=c;
-+ }
-+ outbuf[counter]='\0';
-+ close(fd);
-+ if (counter>0)
-+ return counter;
-+fail:
-+ outbuf[0] = '-';
-+ outbuf[1] = '\0';
-+ return 1;
-+}
-
- /****************** FLASK & seLinux security stuff **********************/
- // move the bulk of this to libproc sometime
-@@ -1293,6 +1326,7 @@
- {"bsdtime", "TIME", pr_bsdtime, sr_nop, 6, 0, LNX, ET|RIGHT},
- {"c", "C", pr_c, sr_pcpu, 2, 0, SUN, ET|RIGHT},
- {"caught", "CAUGHT", pr_sigcatch, sr_nop, 9, 0, BSD, TO|SIGNAL}, /*sigcatch*/
-+{"cgroup", "CGROUP", pr_cgroup, sr_nop, 35, 0, LNX, PO|LEFT}, /* cgroups*/
- {"class", "CLS", pr_class, sr_sched, 3, 0, XXX, TO|LEFT},
- {"cls", "CLS", pr_class, sr_sched, 3, 0, HPU, TO|RIGHT}, /*says HPUX or RT*/
- {"cmaj_flt", "-", pr_nop, sr_cmaj_flt, 1, 0, LNX, AN|RIGHT},
-diff -burN procps-3.2.8/ps/ps.1 procps-3.2.8.cgroups/ps/ps.1
---- procps-3.2.8/ps/ps.1 2009-05-10 14:38:17.000000000 -0500
-+++ procps-3.2.8.cgroups/ps/ps.1 2010-12-04 12:43:12.000000000 -0600
-@@ -904,6 +904,10 @@
- displayed. (alias\ \fBsig_catch\fR,\ \fBsigcatch\fR).
- T}
-
-+cgroup CGROUP T{
-+display control groups to which the process belongs.
-+T}
-+
- class CLS T{
- scheduling class of the process. (alias\ \fBpolicy\fR,\ \fBcls\fR).
- Field's possible values are:
diff --git a/source/a/procps/procps-3.2.7-ps-eip64.diff b/source/a/procps/procps-3.2.7-ps-eip64.diff
deleted file mode 100644
index 9eb851f44..000000000
--- a/source/a/procps/procps-3.2.7-ps-eip64.diff
+++ /dev/null
@@ -1,48 +0,0 @@
---- procps-3.2.7/ps/ps.1.eip64 2007-06-14 11:08:35.000000000 +0200
-+++ procps-3.2.7/ps/ps.1 2007-06-14 11:03:28.000000000 +0200
-@@ -1156,6 +1156,14 @@
- or\ a\ decimal representation otherwise.
- T}
-
-+rip RIP T{
-+64-bit instruction pointer.
-+T}
-+
-+rsp RSP T{
-+64-bit stack pointer.
-+T}
-+
- rss RSS T{
- resident set size, the non\-swapped physical memory that
- a task has used (in\ kiloBytes).
---- procps-3.2.7/ps/output.c.eip64 2007-06-14 11:08:24.000000000 +0200
-+++ procps-3.2.7/ps/output.c 2007-06-14 10:58:21.000000000 +0200
-@@ -764,10 +764,18 @@
- return snprintf(outbuf, COLWID, "%08x", (unsigned)(pp->kstk_esp));
- }
-
-+static int pr_rsp(char *restrict const outbuf, const proc_t *restrict const pp){
-+ return snprintf(outbuf, COLWID, "%016lx", (unsigned long)(pp->kstk_esp));
-+}
-+
- static int pr_eip(char *restrict const outbuf, const proc_t *restrict const pp){
- return snprintf(outbuf, COLWID, "%08x", (unsigned)(pp->kstk_eip));
- }
-
-+static int pr_rip(char *restrict const outbuf, const proc_t *restrict const pp){
-+ return snprintf(outbuf, COLWID, "%016lx", (unsigned long)(pp->kstk_eip));
-+}
-+
- /* This function helps print old-style time formats */
- static int old_time_helper(char *dst, unsigned long long t, unsigned long long rel) {
- if(!t) return snprintf(dst, COLWID, " -");
-@@ -1403,7 +1411,9 @@
- {"resident", "RES", pr_nop, sr_resident, 5,MEM, LNX, PO|RIGHT},
- {"rgid", "RGID", pr_rgid, sr_rgid, 5, 0, XXX, ET|RIGHT},
- {"rgroup", "RGROUP", pr_rgroup, sr_rgroup, 8, GRP, U98, ET|USER}, /* was 8 wide */
-+{"rip", "RIP", pr_rip, sr_kstk_eip, 16, 0, LNX, TO|RIGHT},
- {"rlink", "RLINK", pr_nop, sr_nop, 8, 0, BSD, AN|RIGHT},
-+{"rsp", "RSP", pr_rsp, sr_kstk_eip, 16, 0, LNX, TO|RIGHT},
- {"rss", "RSS", pr_rss, sr_rss, 5, 0, XXX, PO|RIGHT}, /* was 5 wide */
- {"rssize", "RSS", pr_rss, sr_vm_rss, 5, 0, DEC, PO|RIGHT}, /*rsz*/
- {"rsz", "RSZ", pr_rss, sr_vm_rss, 5, 0, BSD, PO|RIGHT}, /*rssize*/
diff --git a/source/a/procps/procps-3.2.8-ps-cgroup-suppress-root-group.patch b/source/a/procps/procps-3.2.8-ps-cgroup-suppress-root-group.patch
deleted file mode 100644
index 4b192c1fb..000000000
--- a/source/a/procps/procps-3.2.8-ps-cgroup-suppress-root-group.patch
+++ /dev/null
@@ -1,36 +0,0 @@
---- procps-3.2.8/ps/output.c 2010-05-18 06:00:18.000000000 +0200
-+++ procps-3.2.8.lennart/ps/output.c 2010-05-18 05:59:46.000000000 +0200
-@@ -1109,7 +1109,7 @@
- static int pr_cgroup(char *restrict const outbuf, const proc_t *restrict const pp){
- char filename[48];
- FILE *fd;
-- int counter = 0;
-+ int counter = 0, last_begin = 0, slash = 0;
- int c;
- int is_cgroup = 0;
-
-@@ -1121,15 +1121,22 @@
- if (is_cgroup == 0) {
- if (c == ':') {
- is_cgroup = 1;
-+ slash = 0;
- if (counter>0)
- outbuf[counter++]=';';
- }
- }else
-- if ((c == '\n') || (c == '\0'))
-- is_cgroup = 0;
-+ if ((c == '\n') || (c == '\0')){
-+ if (slash) /* if the last char was a / this process is in the root cgroup which we should suppress */
-+ counter = last_begin;
- else
-+ last_begin = counter;
-+ is_cgroup = 0;
-+ } else {
-+ slash = c == '/';
- outbuf[counter++]=c;
- }
-+ }
- outbuf[counter]='\0';
- close(fd);
- if (counter>0)
diff --git a/source/a/procps/procps-3.2.8.makefile.diff b/source/a/procps/procps-3.2.8.makefile.diff
deleted file mode 100644
index 383d328cb..000000000
--- a/source/a/procps/procps-3.2.8.makefile.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./Makefile.orig 2009-05-10 13:50:48.000000000 -0500
-+++ ./Makefile 2013-06-25 16:19:06.058320108 -0500
-@@ -174,7 +174,7 @@
- # want this rule first, use := on ALL, and ALL not filled in yet
- all: do_all
-
---include */module.mk
-+-include proc/module.mk ps/module.mk
-
- do_all: $(ALL)
-
diff --git a/source/a/procps/procps-3.2.8.unknown.hz.value.diff b/source/a/procps/procps-3.2.8.unknown.hz.value.diff
deleted file mode 100644
index be283814e..000000000
--- a/source/a/procps/procps-3.2.8.unknown.hz.value.diff
+++ /dev/null
@@ -1,32 +0,0 @@
---- procps-3.2.8.orig/proc/sysinfo.c 2008-03-24 04:33:43.000000000 +0000
-+++ procps-3.2.8.orig/proc/sysinfo.c 2011-02-07 18:14:16.476982472 +0000
-@@ -212,6 +212,7 @@ static int check_for_privs(void){
- static void init_libproc(void) __attribute__((constructor));
- static void init_libproc(void){
- have_privs = check_for_privs();
-+ init_Linux_version();
- // ought to count CPUs in /proc/stat instead of relying
- // on glibc, which foolishly tries to parse /proc/cpuinfo
- //
---- procps-3.2.8.orig/proc/version.c 2003-01-29 01:11:43.000000000 +0000
-+++ procps-3.2.8.orig/proc/version.c 2011-02-07 18:13:12.283649138 +0000
-@@ -33,8 +33,7 @@ void display_version(void) {
-
- int linux_version_code;
-
--static void init_Linux_version(void) __attribute__((constructor));
--static void init_Linux_version(void) {
-+void init_Linux_version(void) {
- static struct utsname uts;
- int x = 0, y = 0, z = 0; /* cleared in case sscanf() < 3 */
-
---- procps-3.2.8.orig/proc/version.h 2002-12-15 00:08:32.000000000 +0000
-+++ procps-3.2.8.orig/proc/version.h 2011-02-07 18:14:20.263649138 +0000
-@@ -14,6 +14,7 @@
-
- EXTERN_C_BEGIN
-
-+extern void init_Linux_version(void);
- extern void display_version(void); /* display suite version */
- extern const char procps_version[]; /* global buf for suite version */
-
diff --git a/source/a/procps/procps.SlackBuild b/source/a/procps/procps.SlackBuild
deleted file mode 100755
index 255ece40d..000000000
--- a/source/a/procps/procps.SlackBuild
+++ /dev/null
@@ -1,207 +0,0 @@
-#!/bin/sh
-
-# Copyright 2005-2013 Patrick J. Volkerding, Sebeka, Minnesota, 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.
-
-
-VERSION=3.2.8
-# Sometimes this number lags behind...
-SOVER=3.2.8
-PSMISCVER=22.13
-BUILD=${BUILD:-4}
-
-# Automatically determine the architecture we're building on:
-if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
- arm*) export ARCH=arm ;;
- # Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$( uname -m ) ;;
- esac
-fi
-
-CWD=$(pwd)
-TMP=${TMP:-/tmp}
-PKG=$TMP/package-procps
-
-if [ "$ARCH" = "i386" ]; then
- SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
- LIBDIRSUFFIX="64"
-fi
-
-# Prepare build locations:
-rm -rf $PKG
-mkdir -p $TMP $PKG
-
-cd $TMP
-rm -rf procps-$VERSION
-tar xvf $CWD/procps-$VERSION.tar.?z* || exit 1
-cd procps-$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 {} \;
-
-mkdir -p $PKG/usr/doc/procps-$VERSION
-cp -a BUGS COPYING* NEWS TODO $PKG/usr/doc/procps-$VERSION
-chown root:root $PKG/usr/doc/procps-$VERSION/*
-chmod 644 $PKG/usr/doc/procps-$VERSION/*
-
-# While I don't agree this is a harmful patch, I will defer to the
-# maintainer's judgement on this one. Besides, I quit using the '-'
-# with ps years ago. It wasn't that hard to change.
-#echo zcat $CWD/procps.nowarning.diff.gz
-#zcat $CWD/procps.nowarning.diff.gz | patch -p1 --verbose || exit 1
-
-# Display the location from which the user is logged in by default.
-# This is how previous versions of 'w' in Slackware have always
-# defaulted.
-echo zcat $CWD/procps.w.showfrom.diff.gz
-zcat $CWD/procps.w.showfrom.diff.gz | patch -p1 --verbose || exit 1
-
-if [ "$ARCH" = "x86_64" ]; then
-# Taken from RedHat: ps truncates eip and esp to 32bit values on 64bit systems.
-# The patch adds 64bit rip and rsp to the 'ps' output options on x86_64
- zcat $CWD/procps-3.2.7-ps-eip64.diff.gz | patch -p1 --verbose || exit 1
-fi
-
-# Add support for cgroups display:
-zcat $CWD/procps-3.2.7-ps-cgroup.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/procps-3.2.8-ps-cgroup-suppress-root-group.patch.gz | patch -p1 --verbose || exit 1
-
-# Init contructors in correct order to avoid "Unknown HZ value!":
-zcat $CWD/procps-3.2.8.unknown.hz.value.diff.gz | patch -p1 --verbose || exit 1
-
-# Fix an ordering problem in the Makefile:
-zcat $CWD/procps-3.2.8.makefile.diff.gz | patch -p1 --verbose || exit 1
-
-make OPT="$SLKCFLAGS" || make OPT="$SLKCFLAGS" || exit 1
-mkdir -p $PKG/lib${LIBDIRSUFFIX} $PKG/bin $PKG/sbin $PKG/usr/bin $PKG/usr/include/proc
-cat free > $PKG/bin/free
-cat ps/ps> $PKG/bin/ps
-cat proc/libproc-${SOVER}.so > $PKG/lib${LIBDIRSUFFIX}/libproc-${SOVER}.so
-cat pkill > $PKG/usr/bin/pkill
-cat skill > $PKG/usr/bin/skill
-cat pmap > $PKG/usr/bin/pmap
-cat slabtop > $PKG/usr/bin/slabtop
-cat sysctl > $PKG/sbin/sysctl
-cat tload > $PKG/usr/bin/tload
-cat top > $PKG/usr/bin/top
-cat uptime > $PKG/usr/bin/uptime
-cat vmstat > $PKG/usr/bin/vmstat
-cat w > $PKG/usr/bin/w
-cat watch > $PKG/usr/bin/watch
-( cd $PKG/usr/bin
- ln -sf pkill pgrep
- ln -sf skill snice
- # Just in case
- ln -sf /bin/free .
- ln -sf /bin/ps .
-)
-cp -a proc/*.h $PKG/usr/include/proc
-chown -R root:root $PKG/usr/include/proc
-chmod 644 $PKG/usr/include/proc/*
-cp -a ps/ps.1 .
-mkdir -p $PKG/usr/man/man1
-for page in free.1 pgrep.1 pkill.1 ps.1 slabtop.1 skill.1 snice.1 tload.1 top.1 uptime.1 w.1 watch.1 ; do
- cat $page | gzip -9c > $PKG/usr/man/man1/$page.gz
-done
-mkdir -p $PKG/usr/man/man5
-cat sysctl.conf.5 | gzip -9c > $PKG/usr/man/man5/sysctl.conf.5.gz
-mkdir -p $PKG/usr/man/man8
-for page in vmstat.8 sysctl.8 ; do
- cat $page | gzip -9c > $PKG/usr/man/man8/$page.gz
-done
-
-echo "+=============+"
-echo "| psmisc-$PSMISCVER |"
-echo "+=============+"
-cd $TMP
-rm -rf psmisc-$PSMISCVER
-tar xvf $CWD/psmisc-$PSMISCVER.tar.?z* || exit 1
-cd psmisc-$PSMISCVER
-# Maybe we'll turn on NLS when it supports more than
-# just US English. :)
-CFLAGS="$SLKCFLAGS" \
-./configure --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --disable-nls
-mkdir -p $PKG/usr/doc/psmisc-$PSMISCVER
-cp -a AUTHORS COPYING ChangeLog INSTALL NEWS README $PKG/usr/doc/psmisc-$PSMISCVER
-chmod 644 $PKG/usr/doc/psmisc-$PSMISCVER/*
-chown root:root $PKG/usr/doc/psmisc-$PSMISCVER/*
-make || make || exit 1
-cd src
-strip fuser pstree killall
-cat fuser > $PKG/usr/bin/fuser
-cat pstree > $PKG/usr/bin/pstree
-cat killall > $PKG/bin/killall
-cd ../doc
-for page in fuser.1 killall.1 pstree.1 ; do
- cat $page | gzip -9c > $PKG/usr/man/man1/$page.gz
-done
-cd ..
-
-echo "+=============+"
-echo "| procinfo-18 |"
-echo "+=============+"
-cd $TMP
-rm -rf procinfo-18
-tar xzvf $CWD/procinfo-18.tar.gz
-cd procinfo-18
-zcat $CWD/procinfo.gcc3.diff.gz | patch -p1 --backup --suffix=.orig --verbose || exit 1
-mkdir -p $PKG/usr/doc/procinfo-18
-cp -a CHANGES README $PKG/usr/doc/procinfo-18
-chmod 644 $PKG/usr/doc/procinfo-18/*
-chown root:root $PKG/usr/doc/procinfo-18/*
-make CFLAGS="$SLKCFLAGS"
-strip procinfo
-cat procinfo > $PKG/usr/bin/procinfo
-cat lsdev.pl > $PKG/usr/bin/lsdev
-cat socklist.pl > $PKG/usr/bin/socklist
-for page in procinfo.8 lsdev.8 socklist.8 ; do
- cat $page | gzip -9c > $PKG/usr/man/man8/$page.gz
-done
-
-# Fix permissions:
-chmod 755 $PKG/lib${LIBDIRSUFFIX}/* $PKG/bin/* $PKG/sbin/* $PKG/usr/bin/*
-( cd $PKG
- find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
- find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-)
-
-mkdir -p $PKG/install
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-# Build the package:
-cd $PKG
-makepkg -l y -c n $TMP/procps-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/a/procps/procps.nowarning.diff b/source/a/procps/procps.nowarning.diff
deleted file mode 100644
index bd4b1466a..000000000
--- a/source/a/procps/procps.nowarning.diff
+++ /dev/null
@@ -1,25 +0,0 @@
---- ./ps/parser.c.orig 2004-08-09 17:41:10.000000000 -0700
-+++ ./ps/parser.c 2004-08-16 18:30:09.000000000 -0700
-@@ -1213,12 +1213,20 @@
- // about "ps -aux" suddenly changing behavior if a user "x" were
- // added to the system.
- //
-+ // Yes, this is still getting patched out here. IMO, people can change
-+ // old habits if and when user 'x' comes along. I still find this warning
-+ // to be a POLA violation. No offense... that's the beauty of open source.
-+ // You've got your ideas about this, and I have mine, and we're allowed
-+ // to disagree. Nothing in the UNIX or POSIX standards requires this (annoying)
-+ // warning to be displayed, and we're not changing the actual behavior
-+ // of ps in any way. I know of no other 'ps' that produces this message.
-+ //
- // Also, a "-x" option is coming. It's already there in fact,
- // for some non-default personalities. So "ps -ax" will parse
- // as SysV options... and you're screwed if you've been patching
- // out the friendly warning. Cut-over is likely to be in 2005.
-- if(!(personality & PER_FORCE_BSD))
-- fprintf(stderr, "Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html\n");
-+ // if(!(personality & PER_FORCE_BSD))
-+ // fprintf(stderr, "Warning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.html\n");
- // Remember: contact albert@users.sf.net or procps-feedback@lists.sf.net
- // if you should feel tempted. Be damn sure you understand all
- // the issues. The same goes for other stuff too, BTW. Please ask.
diff --git a/source/a/procps/procps.w.showfrom.diff b/source/a/procps/procps.w.showfrom.diff
deleted file mode 100644
index 0b1c71a3e..000000000
--- a/source/a/procps/procps.w.showfrom.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./w.c.orig 2002-12-21 05:30:33.000000000 -0800
-+++ ./w.c 2003-02-02 11:46:58.000000000 -0800
-@@ -33,6 +33,8 @@
-
- typedef struct utmp utmp_t;
-
-+#define W_SHOWFROM 1
-+
- #ifdef W_SHOWFROM
- # define FROM_STRING "on"
- #else
diff --git a/source/a/procps/slack-desc b/source/a/procps/slack-desc
deleted file mode 100644
index 22cf9e0d2..000000000
--- a/source/a/procps/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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------------------------------------------------------|
-procps: procps (utilities for displaying process information)
-procps:
-procps: The procps package provides the classic set of utilities used to
-procps: display information about the processes currently running on the
-procps: machine.
-procps:
-procps:
-procps:
-procps:
-procps:
-procps:
diff --git a/source/a/quota/quota.SlackBuild b/source/a/quota/quota.SlackBuild
index 67717b11b..877350d64 100755
--- a/source/a/quota/quota.SlackBuild
+++ b/source/a/quota/quota.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2015 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,97 +21,146 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=3.17
+PKGNAM=quota
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
- case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
- arm*) export ARCH=arm ;;
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$( uname -m ) ;;
+ *) ARCH=$(uname -m) ;;
esac
+ export ARCH
+fi
+
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
+if [ "$ARCH" = "i386" ]; then
+ SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
fi
CWD=$(pwd)
TMP=${TMP:-/tmp}
-PKG=$TMP/package-quota
+PKG=$TMP/package-$PKGNAM
rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
-rm -rf quota-tools
-tar xvf $CWD/quota-$VERSION.tar.?z*
-cd quota-tools
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+cd $PKGNAM-$VERSION
+
+zcat $CWD/quota.lwrap.needs.lnsl.diff.gz | patch -p1 --verbose || exit 1
+
+autoreconf -vif
+
chown -R root:root .
-find . -perm 2755 -exec chmod 755 {} \;
+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 {} \;
+
+# Configure:
+CFLAGS="$SLKCFLAGS" \
./configure \
- --prefix=/usr \
- $ARCH-slackware-linux
-make
-make mo
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --build=$ARCH-slackware-linux
+
+# Build and install:
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Install config files as samples:
+( cd $PKG/etc
+ for file in quotagrpadmins quotatab warnquota.conf ; do
+ mv ${file} ${file}-sample
+ done
+)
+
+# Move these to /sbin in case /usr is not mounted when they are needed at boot:
mkdir -p $PKG/sbin
-cat convertquota > $PKG/sbin/convertquota
-cat quotacheck > $PKG/sbin/quotacheck
-cat quotaon > $PKG/sbin/quotaon
-( cd $PKG/sbin ; ln -sf quotaon quotaoff )
-chmod 755 $PKG/sbin/*
-mkdir -p $PKG/usr/sbin
-for file in edquota repquota warnquota quotastats setquota quot xqmstats rpc.rquotad ; do
- cat $file > $PKG/usr/sbin/$file
-done
-chmod 755 $PKG/usr/sbin/*
-mkdir -p $PKG/usr/bin
-cat quota > $PKG/usr/bin/quota
-chmod 755 $PKG/usr/bin/quota
-mkdir -p $PKG/usr/include/rpcsvc
-cat rquota.h > $PKG/usr/include/rpcsvc/rquota.h
-cat rquota.x > $PKG/usr/include/rpcsvc/rquota.x
-mkdir -p $PKG/etc
-cat warnquota.conf > $PKG/etc/warnquota.conf-sample
-cat quotatab > $PKG/etc/quotatab-sample
-cat quotagrpadmins > $PKG/etc/quotagrpadmins-sample
-mkdir -p $PKG/usr/man/man{1,2,3,8}
-for page in *.1 ; do
- cat $page | gzip -9c > $PKG/usr/man/man1/$page.gz
-done
-for page in *.2 ; do
- cat $page | gzip -9c > $PKG/usr/man/man2/$page.gz
-done
-for page in *.3 ; do
- cat $page | gzip -9c > $PKG/usr/man/man3/$page.gz
-done
-for page in *.8 ; do
- cat $page | gzip -9c > $PKG/usr/man/man8/$page.gz
-done
-mkdir -p $PKG/usr/share/locale/pl/LC_MESSAGES
-cat po/pl.mo > $PKG/usr/share/locale/pl/LC_MESSAGES/quota.mo
-mkdir -p $PKG/usr/doc/quota-$VERSION
-cp -a Changelog README* $PKG/usr/doc/quota-$VERSION
-( cd doc
- sgml2txt quotadoc.sgml
- sgml2html -s 0 quotadoc.sgml
- if [ ! -r quotadoc.html ]; then
- echo "WARNING: no quotadoc.html generated"
- sleep 100
- fi
- cp quotadoc*txt quotadoc*html $PKG/usr/doc/quota-$VERSION/ )
-find $PKG/usr/doc/quota-$VERSION -name CVS -type d | xargs rm -rf
+( cd $PKG/usr/sbin
+ for file in convertquota quotacheck quotaon quotaoff ; do
+ mv $file ../../sbin
+ ln -sf ../../sbin/$file .
+ done
+)
+
+# Strip binaries:
( cd $PKG
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
)
+
+# Compress and link manpages, if any:
+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 | grep -v '\.gz$') ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+# Get rid of existing docs directory:
+rm -rf $PKG/usr/share/doc
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS COPYING* NEWS README* THANKS TODO \
+ doc/quotas.preformated \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
-# Build the package:
cd $PKG
-makepkg -l y -c n $TMP/quota-$VERSION-$ARCH-$BUILD.txz
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
-# Clean up the extra stuff:
-if [ "$1" = "--cleanup" ]; then
- rm -rf $TMP/quota
- rm -rf $PKG
-fi
diff --git a/source/a/quota/quota.lwrap.needs.lnsl.diff b/source/a/quota/quota.lwrap.needs.lnsl.diff
new file mode 100644
index 000000000..eaaecf286
--- /dev/null
+++ b/source/a/quota/quota.lwrap.needs.lnsl.diff
@@ -0,0 +1,11 @@
+--- ./configure.ac.orig 2015-12-18 08:00:34.000000000 -0600
++++ ./configure.ac 2015-12-27 18:44:30.768289611 -0600
+@@ -167,7 +167,7 @@
+ ])
+ ])
+ AS_IF([test "x$build_libwrap" != "xno"], [
+- WRAP_LIBS="-lwrap"
++ WRAP_LIBS="-lwrap -lnsl"
+ AC_DEFINE([HOSTS_ACCESS], 1, [Use hosts.allow and hosts.deny for access checking of rpc.rquotad])
+ COMPILE_OPTS="$COMPILE_OPTS HOSTS_ACCESS"
+ ])
diff --git a/source/a/quota/slack-desc b/source/a/quota/slack-desc
index dd07ea43b..598f1734f 100644
--- a/source/a/quota/slack-desc
+++ b/source/a/quota/slack-desc
@@ -16,4 +16,4 @@ quota: Edvard Tuinder and Marco van Wieringen ported this code to Linux.
quota: Jan Kara added support for the new Linux quota format and the XFS
quota: filesystem.
quota:
-quota:
+quota: Homepage: http://sourceforge.net/projects/linuxquota/
diff --git a/source/a/reiserfsprogs/reiserfsprogs.SlackBuild b/source/a/reiserfsprogs/reiserfsprogs.SlackBuild
index 83467e323..71c2b92db 100755
--- a/source/a/reiserfsprogs/reiserfsprogs.SlackBuild
+++ b/source/a/reiserfsprogs/reiserfsprogs.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2015 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,7 +20,8 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=${VERSION:-3.6.23}
+PKGNAM=reiserfsprogs
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
@@ -51,9 +52,9 @@ rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
-rm -rf reiserfsprogs-$VERSION
-tar xvf $CWD/reiserfsprogs-$VERSION.tar.?z* || exit 1
-cd reiserfsprogs-$VERSION || exit 1
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
+cd $PKGNAM-$VERSION || exit 1
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
@@ -100,15 +101,15 @@ find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
for i in $(find . -type l) ; do ln -s $(readlink $i).gz $i.gz ; rm $i ; done
)
-mkdir -p $PKG/usr/doc/reiserfsprogs-$VERSION
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
cp -a \
AUTHORS COPYING* CREDITS INSTALL NEWS README* \
- $PKG/usr/doc/reiserfsprogs-$VERSION
-chmod 644 $PKG/usr/doc/reiserfsprogs-$VERSION/*
+ $PKG/usr/doc/$PKGNAM-$VERSION
+chmod 644 $PKG/usr/doc/$PKGNAM-$VERSION/*
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
-/sbin/makepkg -l y -c n $TMP/reiserfsprogs-$VERSION-$ARCH-$BUILD.txz
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/a/sdparm/sdparm.SlackBuild b/source/a/sdparm/sdparm.SlackBuild
index c0d155ef3..5074a2fa1 100755
--- a/source/a/sdparm/sdparm.SlackBuild
+++ b/source/a/sdparm/sdparm.SlackBuild
@@ -30,7 +30,7 @@ NUMJOBS=${NUMJOBS:-"-j6"}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 ) ;;
@@ -41,8 +41,8 @@ CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-${PKGNAM}
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
elif [ "$ARCH" = "x86_64" ]; then
@@ -56,7 +56,7 @@ mkdir -p $TMP $PKG
cd $TMP
rm -rf ${PKGNAM}-${VERSION}
tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z* || exit 1
-cd ${PKGNAM}-$VERSION
+cd ${PKGNAM}-$VERSION || exit 1
# Make sure ownerships and permissions are sane:
chown -R root:root .
diff --git a/source/a/shadow/patches/unused/r3299.diff b/source/a/shadow/patches/unused/r3299.diff
deleted file mode 100644
index a46b18f05..000000000
--- a/source/a/shadow/patches/unused/r3299.diff
+++ /dev/null
@@ -1,12 +0,0 @@
-Index: man/ru/Makefile.am
-===================================================================
---- man/ru/Makefile.am (revision 3298)
-+++ man/ru/Makefile.am (revision 3299)
-@@ -1,7 +1,6 @@
- mandir = @mandir@/ru
-
- man_MANS = \
-- $(man_nopam) \
- chage.1 \
- chfn.1 \
- chgpasswd.8 \
diff --git a/source/a/shadow/shadow.CVE-2005-4890.relax.diff b/source/a/shadow/shadow.CVE-2005-4890.relax.diff
new file mode 100644
index 000000000..98425e16a
--- /dev/null
+++ b/source/a/shadow/shadow.CVE-2005-4890.relax.diff
@@ -0,0 +1,35 @@
+From 0f6a809b7c4c9a8f4adb5b25808dd68000e17aa2 Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@hush.com>
+Date: Wed, 04 Dec 2013
+Subject: restrict "su -c" only when callee is not root
+
+Shadow 4.1.5 addressed a tty-hijacking vulnerability in "su -c"
+(CVE-2005-4890) by detaching the controlling terminal in the non-PAM
+case via a TIOCNOTTY request.
+
+Bi-directional protection is excessive and breaks a commonly-used
+methods for privilege escalation on non-PAM systems (e.g. xterm -e
+/bin/su -s /bin/bash -c /bin/bash myscript).
+
+This patch relaxes the restriction and only detaches the controlling
+tty when the callee is not root (which is, after all, the threat vector).
+
+---
+ src/su.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/src/su.c
++++ b/src/su.c
+@@ -1076,10 +1076,10 @@ int main (int argc, char **argv)
+
+ set_environment (pw);
+
+- if (!doshell) {
++ if (!doshell && pw->pw_uid != 0) {
+ /* There is no need for a controlling terminal.
+ * This avoids the callee to inject commands on
+- * the caller's tty. */
++ * the caller's tty when the callee is not root. */
+ int err = -1;
+
+ #ifdef USE_PAM
diff --git a/source/a/shadow/shadow.SlackBuild b/source/a/shadow/shadow.SlackBuild
index 8194930d6..633d38514 100755
--- a/source/a/shadow/shadow.SlackBuild
+++ b/source/a/shadow/shadow.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2005-2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2005-2014 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,8 +21,8 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PKGNAM=shadow
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -54,7 +54,7 @@ rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf shadow-$VERSION
-tar xvf $CWD/shadow-$VERSION.tar.?z* || exit 1
+tar xvf $CWD/shadow-$VERSION.tar.xz || exit 1
cd shadow-$VERSION
# Apply some patches taken from the svn trunk that
@@ -63,8 +63,11 @@ for patch in $CWD/patches/*.diff.gz ; do
zcat $patch | patch -p0 --verbose || exit 1
done
-# Patch to handle newer crypt() that may return NULL:
-zcat $CWD/shadow.glibc217-crypt.diff.gz | patch -p1 --verbose || exit 1
+# Relax the restrictions on "su -c" when it is used to become root.
+# It's not likely that root is going to try to inject commands back into
+# the user's shell to hack it, and the unnecessary restriction is causing
+# breakage:
+zcat $CWD/shadow.CVE-2005-4890.relax.diff.gz | patch -p1 --verbose || exit 1
# Re-run automake because of r3299 patch to man/ru/Makefile.am:
# (not used because it doesn't work... above patch does the intended fix)
@@ -83,6 +86,7 @@ CFLAGS="$SLKCFLAGS" \
--sysconfdir=/etc \
--mandir=/usr/man \
--docdir=/usr/doc/shadow-$VERSION \
+ --enable-subordinate-ids \
--disable-shared \
--without-libcrack \
--build=$ARCH-slackware-linux
diff --git a/source/a/shadow/shadow.glibc217-crypt.diff b/source/a/shadow/shadow.glibc217-crypt.diff
deleted file mode 100644
index e26ca10bb..000000000
--- a/source/a/shadow/shadow.glibc217-crypt.diff
+++ /dev/null
@@ -1,258 +0,0 @@
-From a616a72160c17fa193ad6ad95eb2c869633f4fe9 Mon Sep 17 00:00:00 2001
-From: mancha <mancha1@hush.com>
-Date: Fri, 4 Oct 2013 11:25:43
-Subject: [PATCH] Improve handling of NULL returns from crypt().
-
-Signed-off-by: mancha <mancha1@hush.com>
----
- ChangeLog | 15 +++++++++++++++
- lib/encrypt.c | 7 +++----
- lib/pwauth.c | 7 ++++++-
- libmisc/valid.c | 1 +
- src/chgpasswd.c | 4 ++++
- src/chpasswd.c | 4 ++++
- src/gpasswd.c | 4 ++++
- src/newgrp.c | 3 ++-
- src/newusers.c | 26 +++++++++++++++++++++-----
- src/passwd.c | 15 +++++++++++++++
- 10 files changed, 75 insertions(+), 11 deletions(-)
-
-diff --git a/ChangeLog b/ChangeLog
-index aab00ae..1416a38 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,18 @@
-+2013-05-06 mancha <mancha1@hush.com>
-+
-+ * lib/encrypt.c: crypt() in glibc/eglibc 2.17 now fails if passed
-+ a salt that violates specs. On Linux, crypt() also fails with
-+ DES/MD5 salts in FIPS140 mode. Rather than exit() on NULL returns
-+ we send them back to the caller for appropriate handling.
-+ * lib/pwauth.c: Handle NULL return from crypt().
-+ * libmisc/valid.c: Likewise.
-+ * src/chgpasswd.c: Likewise.
-+ * src/chpasswd.c: Likewise.
-+ * src/gpasswd.c: Likewise.
-+ * src/newgrp.c: Likewise.
-+ * src/newusers.c: Likewise.
-+ * src/passwd.c: Likewise.
-+
- 2012-05-25 Nicolas François <nicolas.francois@centraliens.net>
-
- * NEWS: Set release date.
-diff --git a/lib/encrypt.c b/lib/encrypt.c
-index 7daa8da..49cb691 100644
---- a/lib/encrypt.c
-+++ b/lib/encrypt.c
-@@ -49,11 +49,10 @@
- if (!cp) {
- /*
- * Single Unix Spec: crypt() may return a null pointer,
-- * and set errno to indicate an error. The caller doesn't
-- * expect us to return NULL, so...
-+ * and set errno to indicate an error. In this case return
-+ * the NULL so the caller can handle appropriately.
- */
-- perror ("crypt");
-- exit (EXIT_FAILURE);
-+ return cp;
- }
-
- /* The GNU crypt does not return NULL if the algorithm is not
-diff --git a/lib/pwauth.c b/lib/pwauth.c
-index 4b26daa..086a72e 100644
---- a/lib/pwauth.c
-+++ b/lib/pwauth.c
-@@ -73,6 +73,7 @@ int pw_auth (const char *cipher,
- char prompt[1024];
- char *clear = NULL;
- const char *cp;
-+ const char *encrypted;
- int retval;
-
- #ifdef SKEY
-@@ -177,7 +178,11 @@ int pw_auth (const char *cipher,
- * the results there as well.
- */
-
-- retval = strcmp (pw_encrypt (input, cipher), cipher);
-+ encrypted = pw_encrypt (input, cipher);
-+ if (encrypted!=NULL)
-+ retval = strcmp (encrypted, cipher);
-+ else
-+ retval = -1;
-
- #ifdef SKEY
- /*
-diff --git a/libmisc/valid.c b/libmisc/valid.c
-index aa0390a..4b85d67 100644
---- a/libmisc/valid.c
-+++ b/libmisc/valid.c
-@@ -95,6 +95,7 @@ bool valid (const char *password, const struct passwd *ent)
- */
-
- if ( (NULL != ent->pw_name)
-+ && (NULL != encrypted)
- && (strcmp (encrypted, ent->pw_passwd) == 0)) {
- return true;
- } else {
-diff --git a/src/chgpasswd.c b/src/chgpasswd.c
-index 0f41d0b..6c42a09 100644
---- a/src/chgpasswd.c
-+++ b/src/chgpasswd.c
-@@ -469,6 +469,10 @@ int main (int argc, char **argv)
- #endif
- cp = pw_encrypt (newpwd,
- crypt_make_salt (crypt_method, arg));
-+ if (cp == NULL) {
-+ perror ("crypt");
-+ exit (EXIT_FAILURE);
-+ }
- }
-
- /*
-diff --git a/src/chpasswd.c b/src/chpasswd.c
-index 928e2d7..4968b0d 100644
---- a/src/chpasswd.c
-+++ b/src/chpasswd.c
-@@ -492,6 +492,10 @@ int main (int argc, char **argv)
- #endif
- cp = pw_encrypt (newpwd,
- crypt_make_salt(crypt_method, arg));
-+ if (cp == NULL) {
-+ perror ("crypt");
-+ exit (EXIT_FAILURE);
-+ }
- }
-
- /*
-diff --git a/src/gpasswd.c b/src/gpasswd.c
-index df8d714..0043610 100644
---- a/src/gpasswd.c
-+++ b/src/gpasswd.c
-@@ -939,6 +939,10 @@ static void change_passwd (struct group *gr)
- }
-
- cp = pw_encrypt (pass, crypt_make_salt (NULL, NULL));
-+ if (cp==NULL) {
-+ perror ("crypt");
-+ exit (EXIT_FAILURE);
-+ }
- memzero (pass, sizeof pass);
- #ifdef SHADOWGRP
- if (is_shadowgrp) {
-diff --git a/src/newgrp.c b/src/newgrp.c
-index 9330c72..6b87761 100644
---- a/src/newgrp.c
-+++ b/src/newgrp.c
-@@ -184,7 +184,8 @@ static void check_perms (const struct group *grp,
- cpasswd = pw_encrypt (cp, grp->gr_passwd);
- strzero (cp);
-
-- if (grp->gr_passwd[0] == '\0' ||
-+ if (cpasswd == NULL ||
-+ grp->gr_passwd[0] == '\0' ||
- strcmp (cpasswd, grp->gr_passwd) != 0) {
- #ifdef WITH_AUDIT
- snprintf (audit_buf, sizeof(audit_buf),
-diff --git a/src/newusers.c b/src/newusers.c
-index 994898e..5f83a6a 100644
---- a/src/newusers.c
-+++ b/src/newusers.c
-@@ -387,6 +387,7 @@ static int add_user (const char *name, uid_t uid, gid_t gid)
- static void update_passwd (struct passwd *pwd, const char *password)
- {
- void *crypt_arg = NULL;
-+ char *cp;
- if (crypt_method != NULL) {
- #ifdef USE_SHA_CRYPT
- if (sflg) {
-@@ -398,9 +399,13 @@ static void update_passwd (struct passwd *pwd, const char *password)
- if ((crypt_method != NULL) && (0 == strcmp(crypt_method, "NONE"))) {
- pwd->pw_passwd = (char *)password;
- } else {
-- pwd->pw_passwd = pw_encrypt (password,
-- crypt_make_salt (crypt_method,
-- crypt_arg));
-+ cp=pw_encrypt (password, crypt_make_salt (crypt_method,
-+ crypt_arg));
-+ if (cp == NULL) {
-+ perror ("crypt");
-+ exit (EXIT_FAILURE);
-+ }
-+ pwd->pw_passwd = cp;
- }
- }
- #endif /* !USE_PAM */
-@@ -412,6 +417,7 @@ static int add_passwd (struct passwd *pwd, const char *password)
- {
- const struct spwd *sp;
- struct spwd spent;
-+ char *cp;
-
- #ifndef USE_PAM
- void *crypt_arg = NULL;
-@@ -448,7 +454,12 @@ static int add_passwd (struct passwd *pwd, const char *password)
- } else {
- const char *salt = crypt_make_salt (crypt_method,
- crypt_arg);
-- spent.sp_pwdp = pw_encrypt (password, salt);
-+ cp = pw_encrypt (password, salt);
-+ if (cp == NULL) {
-+ perror ("crypt");
-+ exit (EXIT_FAILURE);
-+ }
-+ spent.sp_pwdp = cp;
- }
- spent.sp_lstchg = (long) time ((time_t *) 0) / SCALE;
- if (0 == spent.sp_lstchg) {
-@@ -492,7 +503,12 @@ static int add_passwd (struct passwd *pwd, const char *password)
- spent.sp_pwdp = (char *)password;
- } else {
- const char *salt = crypt_make_salt (crypt_method, crypt_arg);
-- spent.sp_pwdp = pw_encrypt (password, salt);
-+ cp = pw_encrypt (password, salt);
-+ if (cp == NULL) {
-+ perror ("crypt");
-+ exit (EXIT_FAILURE);
-+ }
-+ spent.sp_pwdp = cp;
- }
- #else
- /*
-diff --git a/src/passwd.c b/src/passwd.c
-index ac90aa3..ae26666 100644
---- a/src/passwd.c
-+++ b/src/passwd.c
-@@ -242,6 +242,17 @@ static int new_password (const struct pa
- }
-
- cipher = pw_encrypt (clear, crypt_passwd);
-+ if (cipher == NULL) {
-+ strzero (clear);
-+ (void) fprintf (stderr,
-+ _("Failed to crypt password for %s.\n"),
-+ pw->pw_name);
-+ SYSLOG ((LOG_INFO,
-+ "failed to crypt password for %s",
-+ pw->pw_name));
-+ return -1;
-+ }
-+
- if (strcmp (cipher, crypt_passwd) != 0) {
- strzero (clear);
- strzero (cipher);
-@@ -349,6 +360,10 @@ static int new_password (const struct pa
- * Encrypt the password, then wipe the cleartext password.
- */
- cp = pw_encrypt (pass, crypt_make_salt (NULL, NULL));
-+ if (cp == NULL) {
-+ perror ("crypt");
-+ exit (EXIT_FAILURE);
-+ }
- memzero (pass, sizeof pass);
-
- #ifdef HAVE_LIBCRACK_HIST
---
-1.7.11.4
-
diff --git a/source/a/shadow/shadow.url b/source/a/shadow/shadow.url
index b18864a85..5e378411f 100644
--- a/source/a/shadow/shadow.url
+++ b/source/a/shadow/shadow.url
@@ -1 +1 @@
-ftp://pkg-shadow.alioth.debian.org/pub/pkg-shadow
+http://pkg-shadow.alioth.debian.org/releases/
diff --git a/source/a/sharutils/sharutils.SlackBuild b/source/a/sharutils/sharutils.SlackBuild
index cc4b5b136..3e1f59ff8 100755
--- a/source/a/sharutils/sharutils.SlackBuild
+++ b/source/a/sharutils/sharutils.SlackBuild
@@ -28,7 +28,7 @@ BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 ) ;;
@@ -39,8 +39,8 @@ CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-sharutils
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
diff --git a/source/a/smartmontools/slack-desc b/source/a/smartmontools/slack-desc
index ce462947f..842caec47 100644
--- a/source/a/smartmontools/slack-desc
+++ b/source/a/smartmontools/slack-desc
@@ -9,11 +9,11 @@
smartmontools: smartmontools (hard drive monitoring utilities)
smartmontools:
smartmontools: SMARTMONTOOLS contains utilities that control and monitor storage
-smartmontools: devices using the Self-Monitoring, Analysis and Reporting Technology
+smartmontools: devices using the Self-Monitoring, Analysis, and Reporting Technology
smartmontools: (S.M.A.R.T.) system build into ATA and SCSI Hard Drives. This is used
smartmontools: to check the reliability of the hard drive and to predict drive
-smartmontools: failures. SMARTMONTOOLS Version 5.x is designed to comply to the
-smartmontools: ATA/ATAPI-5 specification (Revision 1). Future releases of
-smartmontools: SMARTMONTOOLS (Versions 6.x and 7.x) will comply with the ATA/ATAPI-6
-smartmontools: and ATA/ATAPI-7 specifications.
+smartmontools: failures.
+smartmontools:
+smartmontools:
+smartmontools:
smartmontools:
diff --git a/source/a/smartmontools/smartmontools.SlackBuild b/source/a/smartmontools/smartmontools.SlackBuild
index 1113e40af..f962f2bb0 100755
--- a/source/a/smartmontools/smartmontools.SlackBuild
+++ b/source/a/smartmontools/smartmontools.SlackBuild
@@ -27,7 +27,7 @@ BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 ) ;;
@@ -82,15 +82,18 @@ cat $CWD/slack-desc > $PKG/install/slack-desc
# These have already been copyed, but it is nice to keep the original
# timestamps if possible, so we will copy over:
cp -a \
- AUTHORS CHANGELOG COPYING* INSTALL NEWS README* TODO WARNINGS \
+ AUTHORS ChangeLog COPYING* INSTALL NEWS README* TODO WARNINGS \
$PKG/usr/doc/smartmontools-$VERSION
-# If there's a CHANGELOG, installing at least part of the recent history
+# Nope.
+rm -f $PKG/usr/doc/smartmontools-$VERSION/ChangeLog-5.0-6.0
+
+# If there's a ChangeLog, installing at least part of the recent history
# is useful, but don't let it get totally out of control:
-if [ -r CHANGELOG ]; then
+if [ -r ChangeLog ]; then
DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
- cat CHANGELOG | head -n 1000 > $DOCSDIR/CHANGELOG
- touch -r CHANGELOG $DOCSDIR/CHANGELOG
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
fi
# Build the package:
diff --git a/source/a/sysklogd/config/rc.syslog.new b/source/a/sysklogd/config/rc.syslog.new
index 46208fab8..f2b51d5eb 100644
--- a/source/a/sysklogd/config/rc.syslog.new
+++ b/source/a/sysklogd/config/rc.syslog.new
@@ -3,11 +3,21 @@
#
# Written for Slackware Linux by Patrick J. Volkerding <volkerdi@slackware.com>.
+# Uncomment the following line to use the -c option to syslogd. This will
+# disable suppressing repeated messages, which may be useful with tools that
+# parse the logs, such as fail2ban:
+#SYSLOGD_OPTIONS="-c "
+
+# Options for klogd:
+# '-c 3' = display level 'error' or higher messages on console
+# '-x' = turn off broken EIP translation
+KLOGD_OPTIONS="-c 3 -x"
+
syslogd_start() {
if [ -x /usr/sbin/syslogd -a -x /usr/sbin/klogd ]; then
echo -n "Starting sysklogd daemons: "
- echo -n "/usr/sbin/syslogd "
- /usr/sbin/syslogd
+ echo -n "/usr/sbin/syslogd ${SYSLOGD_OPTIONS};"
+ /usr/sbin/syslogd $SYSLOGD_OPTIONS
# prevent syslogd/klogd race condition on SMP kernels
if ps acx | grep -q udevd ; then
while [ ! -e /dev/log ] ; do
@@ -16,10 +26,11 @@ syslogd_start() {
else
sleep 1
fi
- echo "/usr/sbin/klogd -c 3 -x"
- # '-c 3' = display level 'error' or higher messages on console
- # '-x' = turn off broken EIP translation
- /usr/sbin/klogd -c 3 -x
+ # Run klogd, unless we are in a container:
+ if [ -z $container ]; then
+ echo " /usr/sbin/klogd $KLOGD_OPTIONS"
+ /usr/sbin/klogd $KLOGD_OPTIONS
+ fi
fi
}
diff --git a/source/a/sysklogd/sysklogd.SlackBuild b/source/a/sysklogd/sysklogd.SlackBuild
index 8ff3de9d2..b4b83f869 100755
--- a/source/a/sysklogd/sysklogd.SlackBuild
+++ b/source/a/sysklogd/sysklogd.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2005-2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2005-2016 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,12 +21,12 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=1.5
+VERSION=1.5.1
BUILD=${BUILD:-2}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ i?86) export ARCH=i586 ;;
arm*) export ARCH=arm ;;
*) export ARCH=$( uname -m ) ;;
esac
@@ -54,6 +54,9 @@ find . \
# Use memmove() instead of strcpy() in syslogd.c
zcat $CWD/use_memmove_not_strcpy.diff.gz | patch -p1 --verbose || exit 1
+# Allow -c option to log all (even repeated) messages:
+zcat $CWD/sysklogd.allow.repeated.messages.diff.gz | patch -p1 --verbose || exit 1
+
make all syslog_tst $NUMJOBS || make || exit 1
mkdir -p $PKG/usr/sbin
diff --git a/source/a/sysklogd/sysklogd.allow.repeated.messages.diff b/source/a/sysklogd/sysklogd.allow.repeated.messages.diff
new file mode 100644
index 000000000..41e6bf15d
--- /dev/null
+++ b/source/a/sysklogd/sysklogd.allow.repeated.messages.diff
@@ -0,0 +1,69 @@
+--- ./syslogd.c.orig 2014-10-04 14:47:18.000000000 -0500
++++ ./syslogd.c 2016-06-29 01:46:39.355541929 -0500
+@@ -776,6 +776,7 @@
+ };
+
+ int Debug; /* debug flag */
++int Compress = 1; /* compress repeated messages flag */
+ char LocalHostName[MAXHOSTNAMELEN+1]; /* our hostname */
+ char *LocalDomain; /* our local domain name */
+ char *emptystring = "";
+@@ -888,7 +889,7 @@
+ funix[i] = -1;
+ }
+
+- while ((ch = getopt(argc, argv, "a:dhf:l:m:np:rs:v")) != EOF)
++ while ((ch = getopt(argc, argv, "a:cdhf:l:m:np:rs:v")) != EOF)
+ switch((char)ch) {
+ case 'a':
+ if (nfunix < MAXFUNIX)
+@@ -896,6 +897,9 @@
+ else
+ fprintf(stderr, "Out of descriptors, ignoring %s\n", optarg);
+ break;
++ case 'c': /* don't compress repeated messages */
++ Compress = 0;
++ break;
+ case 'd': /* debug */
+ Debug = 1;
+ break;
+@@ -1240,7 +1244,7 @@
+
+ int usage()
+ {
+- fprintf(stderr, "usage: syslogd [-drvh] [-l hostlist] [-m markinterval] [-n] [-p path]\n" \
++ fprintf(stderr, "usage: syslogd [-cdrvh] [-l hostlist] [-m markinterval] [-n] [-p path]\n" \
+ " [-s domainlist] [-f conffile]\n");
+ exit(1);
+ }
+@@ -1703,7 +1707,7 @@
+ /*
+ * suppress duplicate lines to this file
+ */
+- if ((flags & MARK) == 0 && msglen == f->f_prevlen &&
++ if (Compress && (flags & MARK) == 0 && msglen == f->f_prevlen &&
+ !strcmp(msg, f->f_prevline) &&
+ !strcmp(from, f->f_prevhost)) {
+ (void) strncpy(f->f_lasttime, timestamp, 15);
+--- ./sysklogd.8.orig 2014-10-04 14:47:18.000000000 -0500
++++ ./sysklogd.8 2016-06-29 01:59:45.311525189 -0500
+@@ -10,6 +10,7 @@
+ .RB [ " \-a "
+ .I socket
+ ]
++.RB [ " \-c " ]
+ .RB [ " \-d " ]
+ .RB [ " \-f "
+ .I config file
+@@ -83,6 +84,11 @@
+ described by the people from OpenBSD at
+ <http://www.guides.sk/psionic/dns/>.
+ .TP
++.B "\-c"
++Disable the repeating line compression that normally suppresses the
++repeated lines and logs a message such as 'last message repeated 124
++times'. With this option, all repeated lines will be logged.
++.TP
+ .B "\-d"
+ Turns on debug mode. Using this the daemon will not proceed a
+ .BR fork (2)
diff --git a/source/a/syslinux/syslinux-4.06.tar.sign b/source/a/syslinux/syslinux-4.06.tar.sign
deleted file mode 100644
index 64496074b..000000000
--- a/source/a/syslinux/syslinux-4.06.tar.sign
+++ /dev/null
@@ -1,17 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.12 (GNU/Linux)
-
-iQIcBAABAgAGBQJQhnLhAAoJEC84WcCNIz1VmjsP/2hpcAmfvtC3fLqlHXs4z6sa
-2Bk5sQryOEdxAiXPzzrt+vgoXHJC/Vc7nOD6Zroj1CZrCkaW69HzeKpCtUlOWv2s
-bcj0ZUQQabBnTi3Pe2yDZeMdBfqOr1XE/0SLFqJfBfsmF9xfDVTrHJNKz9M/pPHY
-/NKny4jhOV5y6wnBCn+8jE/LZAfORh1C4faVZ1m/kDUJcnLAqvop0hCde4PIIUZc
-i9y8i1ZNXjghxtETxfBO7aqUt2rjndFd3kD9e0aGEfIZ/wMeQFlj5wsOjPEZFyBe
-rnAA7UVZcaNFc/J15FPlyFKIn8Lel8tvC4FjoX0zWA1/kSKY5AkjHnqzIZudWAHv
-ayq9wAAWzJUeBLsCSqruA2OYUdwFkL3kPURGB2rYM0O9LkijIJkqLoxRsnmA+lqd
-G78QTrcszsvkxXSn3xVxejtMv6DdckRVeO0ahx7f3PROavdg3QXCy9uG28HVVyop
-ABdSGMhgjdPXKhKpMHGzOx0XmUtvba+/4krqVTUeor2GnMe2gkXNh0lOjGoCJTTg
-rd56fF0lBauk9wBwBoSx2z8wNzBxVpXeXsMicaB7M2AxhNYSVnDwzoEytsxCX4Ib
-QNOJzxvPEqw8DIoKeR2EP8Tw1H/0DhsdMJyQXCgTPMnJjSVqY1OGrSj/p5Z7SWSF
-iPKkqqj+N2GgNbbli07o
-=5g4G
------END PGP SIGNATURE-----
diff --git a/source/a/syslinux/syslinux-4.07.tar.sign b/source/a/syslinux/syslinux-4.07.tar.sign
new file mode 100644
index 000000000..886093370
--- /dev/null
+++ b/source/a/syslinux/syslinux-4.07.tar.sign
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1.4.13 (GNU/Linux)
+
+iQIcBAABAgAGBQJR8PHBAAoJEC84WcCNIz1VYAUP/Rhz7Bwf2t1LubhXEJPwD8gQ
+VIkxPHNoJxor33pGiK/ul0vKzRFAF4rJ6ALIMmPnCT9G+6zmskWbL6JaZpiF+usw
+Qu9nrZRI92EhYWQSPoRWDjoR8sClv7lNrfMytCkZbeuEO4ju8hAAQtVaqQl1toKN
+ZhoyfdlCB+JE8LI9zp7mr/B9GZeIpIJv5hva1ZNQY3BFU+kogtMBQuNo1UXy6oEU
+d6h4FZw9K22gGeofmWhVsIIeFbDJNZ5FLlyGTidILmyAwnjyGpBewXN2ndM0aNY+
+M53xQDfpH1r9bemJae47ELXegMvlwbkxlzVN+OdXWDtfSG8e+WfqIm3HkxU4G9ot
+bP3leHgBU1LB243QFtkaRTRusScsvvHoVi5ghK4eX+LW5+Qm9AU2zwFCpD8PNfcF
+0+hFCP7RuVGCIIMUZypbbvcr4kQcPvbJB2A5TDoCNsmwZuXQtLrBXhk1NYeeniaQ
+Lr4WbUzyQrhNPkqE7l5i6GrYs/LOL3QDGgMokwBtiqAae7LIfxuotEbVZGUwg8m8
+9G9ioxTOtVyQBvQapwXo6IVTz+1EBd0OangKfiXMQ0ZR4xF9NWrd8UBYLL7wK38/
+xZWThAvSQLP3bLXwNFV9NwuCLxZMrajELR8Z/r+AEpNTRwC99GVW5L+Vz+EmabDa
+r4cJG2siSmGUQJ4NIDar
+=fjgT
+-----END PGP SIGNATURE-----
diff --git a/source/a/syslinux/syslinux.SlackBuild b/source/a/syslinux/syslinux.SlackBuild
index e879b9910..e01d13b45 100755
--- a/source/a/syslinux/syslinux.SlackBuild
+++ b/source/a/syslinux/syslinux.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2006, 2007, 2008, 2009, 2010, 2012 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2006, 2007, 2008, 2009, 2010, 2012, 2016 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,13 +22,13 @@
PKGNAM=syslinux
-VERSION=${VERSION:-4.06}
+VERSION=${VERSION:-4.07}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 ) ;;
@@ -49,16 +49,20 @@ cd ${PKGNAM}-$VERSION
# Make sure ownerships and permissions are sane:
chown -R root:root .
find . \
- \( -perm 2777 -o -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ \( -perm 2777 -o -perm 2775 -o -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 {} \;
+find . -type d -exec chmod u-s,g-s {} \;
-# Build:
-make -j4 || exit 1
+# Clean, then build only the installer programs using the supplied assembled
+# ldlinux.asm:
+# See: http://www.syslinux.org/wiki/index.php?title=Doc/distrib
+make clean || exit 1
+make -j2 installer || exit 1
-# Without -i, the following fails trying to install w32 junk:
-make -i install INSTALLROOT=/tmp/package-syslinux
+# Install:
+make install INSTALLROOT=/tmp/package-syslinux || exit 1
cp -a linux/syslinux-nomtools $PKG/usr/bin
chmod 755 $PKG/usr/bin/*
@@ -83,7 +87,7 @@ fi
# Add a documentation directory:
mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION/{cmenu,com32}
cp -a \
- BUGS COPYING NEWS README* TODO \
+ BUGS COPYING* NEWS README* TODO \
doc \
$PKG/usr/doc/${PKGNAM}-$VERSION
cp -a com32/LICENCE $PKG/usr/doc/${PKGNAM}-$VERSION/com32
diff --git a/source/a/sysvinit-scripts/doinst.sh b/source/a/sysvinit-scripts/doinst.sh
index 28fe719ad..f6e94f5d1 100644
--- a/source/a/sysvinit-scripts/doinst.sh
+++ b/source/a/sysvinit-scripts/doinst.sh
@@ -17,9 +17,12 @@ config etc/rc.d/rc.6.new
config etc/rc.d/rc.K.new
config etc/rc.d/rc.M.new
config etc/rc.d/rc.S.new
+config etc/rc.d/rc.cpufreq.new
config etc/rc.d/rc.local.new
config etc/rc.d/rc.loop.new
config etc/rc.d/rc.sysvinit.new
+config etc/rc.d/rc.modules.new
+config etc/rc.d/rc.modules.local.new
( cd etc/rc.d ; rm -rf rc.0 )
( cd etc/rc.d ; ln -sf rc.6 rc.0 )
diff --git a/source/a/sysvinit-scripts/scripts/rc.4 b/source/a/sysvinit-scripts/scripts/rc.4
index be8a9c746..3c65040da 100644
--- a/source/a/sysvinit-scripts/scripts/rc.4
+++ b/source/a/sysvinit-scripts/scripts/rc.4
@@ -32,6 +32,11 @@ elif [ -x /usr/bin/kdm ]; then
exec /usr/bin/kdm -nodaemon
fi
+# Look for SDDM as well:
+if [ -x /usr/bin/sddm ]; then
+ exec /usr/bin/sddm
+fi
+
# If all you have is XDM, I guess it will have to do:
if [ -x /usr/bin/xdm ]; then
exec /usr/bin/xdm -nodaemon
diff --git a/source/a/sysvinit-scripts/scripts/rc.6 b/source/a/sysvinit-scripts/scripts/rc.6
index 8288128c7..76895aca8 100644
--- a/source/a/sysvinit-scripts/scripts/rc.6
+++ b/source/a/sysvinit-scripts/scripts/rc.6
@@ -26,10 +26,10 @@ echo "Running shutdown script $0:"
# Find out how we were called.
case "$0" in
*0)
- command="halt"
+ shutdown_command="halt"
;;
*6)
- command=reboot
+ shutdown_command=reboot
;;
*)
echo "$0: call me as \"rc.0\" or \"rc.6\" please!"
@@ -38,18 +38,32 @@ case "$0" in
esac
# Save the system time to the hardware clock using hwclock --systohc.
+# This will also create or update the timestamps in /etc/adjtime.
if [ -x /sbin/hwclock ]; then
# Check for a broken motherboard RTC clock (where ioports for rtc are
# unknown) to prevent hwclock causing a hang:
- if ! grep -q -w rtc /proc/ioports ; then
+ if ! grep -q " : rtc" /proc/ioports ; then
CLOCK_OPT="--directisa"
fi
- if grep -q "^UTC" /etc/hardwareclock 2> /dev/null ; then
+ if [ /etc/adjtime -nt /etc/hardwareclock ]; then
+ if grep -q "^LOCAL" /etc/adjtime ; then
+ echo "Saving system time to the hardware clock (localtime)."
+ else
+ echo "Saving system time to the hardware clock (UTC)."
+ fi
+ /sbin/hwclock $CLOCK_OPT --systohc
+ elif grep -q "^UTC" /etc/hardwareclock 2> /dev/null ; then
echo "Saving system time to the hardware clock (UTC)."
+ if [ ! -r /etc/adjtime ]; then
+ echo "Creating system time correction file /etc/adjtime."
+ fi
/sbin/hwclock $CLOCK_OPT --utc --systohc
else
echo "Saving system time to the hardware clock (localtime)."
- /sbin/hwclock $CLOCK_OPT --localtime --systohc
+ if [ ! -r /etc/adjtime ]; then
+ echo "Creating system time correction file /etc/adjtime."
+ fi
+ /sbin/hwclock $CLOCK_OPT --localtime --systohc
fi
fi
@@ -101,7 +115,7 @@ fi
# Kill any processes (typically gam) that would otherwise prevent
# unmounting NFS volumes:
unset FUSER_DELAY
-for dir in $(/bin/mount | grep 'type nfs' | cut -d ' ' -f 3 ) ; do
+for dir in $(/bin/mount | grep 'type nfs ' | cut -d ' ' -f 3 ) ; do
echo "Killing processes holding NFS mount $dir open..."
# Background this to prevent fuser from also blocking shutdown:
/usr/bin/fuser -k -m $dir &
@@ -113,8 +127,8 @@ if [ ! -z "$FUSER_DELAY" ]; then
fi
# Unmount any NFS, SMB, or CIFS filesystems:
-echo "Unmounting remote filesystems."
-/bin/umount -v -a -l -f -r -t nfs,smbfs,cifs
+echo "Unmounting remote filesystems:"
+/bin/umount -v -a -l -f -r -t nfs,smbfs,cifs | tr -d ' ' | grep successfully | sed "s/:successfullyunmounted/ has been successfully unmounted./g"
# Try to shut down pppd:
PS="$(ps ax)"
@@ -171,12 +185,13 @@ if [ -x /etc/rc.d/rc.udev ]; then
fi
# Kill all remaining processes.
+OMITPIDS="$(for p in $(pgrep mdmon); do echo -o $p; done)" # Don't kill mdmon
if [ ! "$1" = "fast" ]; then
echo "Sending all processes the SIGTERM signal."
- /sbin/killall5 -15
+ /sbin/killall5 -15 $OMITPIDS
/bin/sleep 5
echo "Sending all processes the SIGKILL signal."
- /sbin/killall5 -9
+ /sbin/killall5 -9 $OMITPIDS
fi
# Try to turn off quota.
@@ -198,22 +213,22 @@ fi
/bin/chmod 600 /etc/random-seed
# Before unmounting file systems write a reboot or halt record to wtmp.
-$command -w
-
-# Clear /var/lock/subsys.
-if [ -d /var/lock/subsys ]; then
- rm -f /var/lock/subsys/*
-fi
+$shutdown_command -w
# Turn off swap:
echo "Turning off swap."
/sbin/swapoff -a
/bin/sync
-echo "Unmounting local file systems."
-/bin/umount -v -a -t no,proc,sysfs
+# Stop cgmanager and cgproxy:
+if [ -x /etc/rc.d/rc.cgmanager ]; then
+ sh /etc/rc.d/rc.cgmanager stop
+fi
+
+echo "Unmounting local file systems:"
+/bin/umount -v -a -t no,proc,sysfs | tr -d ' ' | grep successfully | sed "s/:successfullyunmounted/ has been successfully unmounted./g" 2> /dev/null
-echo "Remounting root filesystem read-only."
+echo "Remounting root filesystem read-only:"
/bin/mount -v -n -o remount,ro /
# This never hurts:
@@ -275,7 +290,7 @@ if [ -x /sbin/genpowerd ]; then
fi
# Now halt (poweroff with APM or ACPI enabled kernels) or reboot.
-if [ "$command" = "reboot" ]; then
+if [ "$shutdown_command" = "reboot" ]; then
echo "Rebooting."
/sbin/reboot
else
diff --git a/source/a/sysvinit-scripts/scripts/rc.K b/source/a/sysvinit-scripts/scripts/rc.K
index 8fc63fdf8..794c82ac8 100644
--- a/source/a/sysvinit-scripts/scripts/rc.K
+++ b/source/a/sysvinit-scripts/scripts/rc.K
@@ -60,7 +60,7 @@ fi
# Kill any processes (typically gam) that would otherwise prevent
# unmounting NFS volumes:
unset FUSER_DELAY
-for dir in $(/bin/mount | grep 'type nfs' | cut -d ' ' -f 3 ) ; do
+for dir in $(/bin/mount | grep 'type nfs ' | cut -d ' ' -f 3 ) ; do
echo "Killing processes holding NFS mount $dir open..."
# Background this to prevent fuser from also blocking shutdown:
/usr/bin/fuser -k -m $dir &
@@ -72,8 +72,8 @@ if [ ! -z "$FUSER_DELAY" ]; then
fi
# Unmount any NFS, SMB, or CIFS filesystems:
-echo "Unmounting remote filesystems."
-/bin/umount -v -a -l -f -r -t nfs,smbfs,cifs
+echo "Unmounting remote filesystems:"
+/bin/umount -v -a -l -f -r -t nfs,smbfs,cifs | tr -d ' ' | grep successfully | sed "s/:successfullyunmounted/ has been successfully unmounted./g"
# Shut down PCMCIA devices:
if [ -x /etc/rc.d/rc.pcmcia ] ; then
@@ -88,9 +88,10 @@ if [ -x /etc/rc.d/rc.acpid -a -r /var/run/acpid.pid ]; then # quit
fi
# Kill all processes.
+OMITPIDS="$(for p in $(pgrep mdmon); do echo -o $p; done)" # Don't kill mdmon
echo
echo "Sending all processes the SIGHUP signal."
-killall5 -1
+killall5 -1 $OMITPIDS
echo -n "Waiting for processes to hang up"
for loop in 0 1 2 3 4 5 ; do
sleep 1
@@ -98,7 +99,7 @@ for loop in 0 1 2 3 4 5 ; do
done
echo
echo "Sending all processes the SIGTERM signal."
-killall5 -15
+killall5 -15 $OMITPIDS
echo -n "Waiting for processes to terminate"
for loop in 0 1 2 3 4 5 ; do
sleep 1
@@ -106,7 +107,7 @@ for loop in 0 1 2 3 4 5 ; do
done
echo
echo "Sending all processes the SIGKILL signal."
-killall5 -9
+killall5 -9 $OMITPIDS
echo -n "Waiting for processes to exit"
for loop in 0 1 2 3 4 5 ; do
sleep 1
diff --git a/source/a/sysvinit-scripts/scripts/rc.M b/source/a/sysvinit-scripts/scripts/rc.M
index d9b3fed3b..1d480cac9 100644
--- a/source/a/sysvinit-scripts/scripts/rc.M
+++ b/source/a/sysvinit-scripts/scripts/rc.M
@@ -99,9 +99,21 @@ if [ -x /etc/rc.d/rc.inet1 ]; then
. /etc/rc.d/rc.inet1
fi
-# Look for additional USB/SCSI/IEEE1394/etc devices on multiple LUNs:
-if [ -x /etc/rc.d/rc.scanluns ]; then
- . /etc/rc.d/rc.scanluns
+# Start D-Bus:
+if [ -x /etc/rc.d/rc.messagebus ]; then
+ sh /etc/rc.d/rc.messagebus start
+fi
+
+# Start Bluetooth:
+if [ -x /etc/rc.d/rc.bluetooth ]; then
+ sh /etc/rc.d/rc.bluetooth start
+fi
+
+# Start wicd or networkmanager:
+if [ -x /etc/rc.d/rc.wicd -a -x /usr/sbin/wicd ]; then
+ sh /etc/rc.d/rc.wicd start
+elif [ -x /etc/rc.d/rc.networkmanager ]; then
+ sh /etc/rc.d/rc.networkmanager start
fi
# Start networking daemons:
@@ -109,8 +121,13 @@ if [ -x /etc/rc.d/rc.inet2 ]; then
. /etc/rc.d/rc.inet2
fi
+# Look for additional USB/SCSI/IEEE1394/etc devices on multiple LUNs:
+if [ -x /etc/rc.d/rc.scanluns ]; then
+ . /etc/rc.d/rc.scanluns
+fi
+
# Mount any additional filesystem types that haven't already been mounted:
-mount -a -v 2> /dev/null | grep -v "already mounted"
+mount -a -v 2> /dev/null | grep -v -e "already mounted" -e "ignored" | cut -f 1 -d : | tr -d ' ' | while read dev ; do mount | grep "${dev} " ; done
# Start the Control Script for automounter:
if [ -x /etc/rc.d/rc.autofs ]; then
@@ -136,19 +153,18 @@ fi
chmod 755 / 2> /dev/null
chmod 1777 /tmp /var/tmp
-# Start APM or ACPI daemon.
-# If APM is enabled in the kernel, start apmd:
-if [ -e /proc/apm ]; then
- if [ -x /usr/sbin/apmd ]; then
- echo "Starting APM daemon: /usr/sbin/apmd"
- /usr/sbin/apmd
- fi
-elif [ -x /etc/rc.d/rc.acpid ]; then # otherwise, start acpid:
+# Start ACPI daemon.
+if [ -x /etc/rc.d/rc.acpid ]; then
. /etc/rc.d/rc.acpid start
fi
+# Enable CPU frequency scaling:
+if [ -x /etc/rc.d/rc.cpufreq ]; then
+ . /etc/rc.d/rc.cpufreq start
+fi
+
# Update any existing icon cache files:
-if find /usr/share/icons 2> /dev/null | grep -q icon-theme.cache ; then
+if find /usr/share/icons -maxdepth 2 2> /dev/null | grep -q icon-theme.cache ; then
for theme_dir in /usr/share/icons/* ; do
if [ -r ${theme_dir}/icon-theme.cache ]; then
echo "Updating icon-theme.cache in ${theme_dir}..."
@@ -169,11 +185,6 @@ if [ -x /usr/bin/update-mime-database -a -d /usr/share/mime ]; then
/usr/bin/update-mime-database /usr/share/mime 1> /dev/null 2> /dev/null &
fi
-# Start D-Bus:
-if [ -x /etc/rc.d/rc.messagebus ]; then
- sh /etc/rc.d/rc.messagebus start
-fi
-
# Start console-kit-daemon:
if [ -x /etc/rc.d/rc.consolekit ]; then
sh /etc/rc.d/rc.consolekit start
@@ -184,31 +195,33 @@ if [ -x /etc/rc.d/rc.hald ]; then
sh /etc/rc.d/rc.hald start
fi
-# Start Bluetooth:
-if [ -x /etc/rc.d/rc.bluetooth ]; then
- sh /etc/rc.d/rc.bluetooth start
-fi
-
-# Start wicd or networkmanager:
-if [ -x /etc/rc.d/rc.wicd -a -x /usr/sbin/wicd ]; then
- sh /etc/rc.d/rc.wicd start
-elif [ -x /etc/rc.d/rc.networkmanager ]; then
- sh /etc/rc.d/rc.networkmanager start
+# Start system-wide PulseAudio daemon (not recommended, nor required in
+# order to use PulseAudio -- see the script for details):
+if [ -x /etc/rc.d/rc.pulseaudio ]; then
+ . /etc/rc.d/rc.pulseaudio start
fi
# These GTK+/pango files need to be kept up to date for
# proper input method, pixbuf loaders, and font support.
if [ -x /usr/bin/update-gtk-immodules ]; then
- /usr/bin/update-gtk-immodules --verbose
+ echo "Updating gtk.immodules:"
+ echo " /usr/bin/update-gtk-immodules &"
+ /usr/bin/update-gtk-immodules > /dev/null 2>&1 &
fi
if [ -x /usr/bin/update-gdk-pixbuf-loaders ]; then
- /usr/bin/update-gdk-pixbuf-loaders --verbose
+ echo "Updating gdk-pixbuf.loaders:"
+ echo " /usr/bin/update-gdk-pixbuf-loaders &"
+ /usr/bin/update-gdk-pixbuf-loaders > /dev/null 2>&1 &
fi
if [ -x /usr/bin/update-pango-querymodules ]; then
- /usr/bin/update-pango-querymodules --verbose
+ echo "Updating pango.modules:"
+ echo " /usr/bin/update-pango-querymodules &"
+ /usr/bin/update-pango-querymodules > /dev/null 2>&1 &
fi
if [ -x /usr/bin/glib-compile-schemas ]; then
- /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas >/dev/null 2>&1
+ echo "Compiling GSettings XML schema files:"
+ echo " /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas &"
+ /usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas >/dev/null 2>&1 &
fi
# Start dnsmasq, a simple DHCP/DNS server:
diff --git a/source/a/sysvinit-scripts/scripts/rc.S b/source/a/sysvinit-scripts/scripts/rc.S
index 7b152e90e..20064e558 100644
--- a/source/a/sysvinit-scripts/scripts/rc.S
+++ b/source/a/sysvinit-scripts/scripts/rc.S
@@ -32,14 +32,14 @@ if [ -x /etc/rc.d/rc.loop ]; then
. /etc/rc.d/rc.loop start
fi
-# Initialize udev to manage /dev entries and hotplugging for 3.x kernels.
+# Initialize udev to manage /dev entries and hotplugging.
# You may turn off udev by making the /etc/rc.d/rc.udev file non-executable
# or giving the "nohotplug" option at boot, but realize that if you turn off
# udev that you will have to load all the kernel modules that you need
-# yourself (possibly in /etc/rc.d/rc.modules, which does not promise to list
-# all of them), and make any additional device nodes that you need in the
-# /dev directory. Even USB and IEEE1394 devices will need to have the
-# modules loaded by hand if udev is not used. So use it. :-)
+# yourself (possibly in /etc/rc.d/rc.modules.local), and make any additional
+# device nodes that you need in the /dev directory. Even USB and IEEE1394
+# devices will need to have the modules loaded by hand if udev is not used.
+# So use it. :-)
if grep -wq sysfs /proc/mounts && grep -q devtmpfs /proc/filesystems ; then
if ! grep -wq nohotplug /proc/cmdline ; then
if [ -x /etc/rc.d/rc.udev ]; then
@@ -53,11 +53,11 @@ if grep -wq cgroup /proc/filesystems ; then
if [ -d /sys/fs/cgroup ]; then
# See linux-*/Documentation/cgroups/cgroups.txt (section 1.6)
# Check if we have some tools to autodetect the available cgroup controllers
- if [ -x /usr/bin/lssubsys -a -x /usr/bin/tr -a -x /usr/bin/sed ]; then
+ if [ -x /bin/cut -a -x /bin/tail ]; then
# Mount a tmpfs as the cgroup filesystem root
mount -t tmpfs -o mode=0755 cgroup_root /sys/fs/cgroup
# Autodetect available controllers and mount them in subfolders
- controllers="$(lssubsys -a 2>/dev/null | tr '\n' ' ' | sed s/.$//)"
+ controllers="$(/bin/cut -f 1 /proc/cgroups | /bin/tail -n +2)"
for i in $controllers; do
mkdir /sys/fs/cgroup/$i
mount -t cgroup -o $i $i /sys/fs/cgroup/$i
@@ -73,6 +73,7 @@ if grep -wq cgroup /proc/filesystems ; then
fi
fi
+
# Initialize the Logical Volume Manager.
# This won't start unless we find /etc/lvmtab (LVM1) or
# /etc/lvm/backup/ (LVM2). This is created by /sbin/vgscan, so to
@@ -96,7 +97,36 @@ if [ -r /etc/lvmtab -o -d /etc/lvm/backup ]; then
fi
fi
-# Open any volumes created by cryptsetup:
+# Open any volumes created by cryptsetup.
+#
+# Some notes on /etc/crypttab in Slackware:
+# Only LUKS formatted volumes are supported (except for swap)
+# crypttab follows the following format:
+# <luks_name> <device> <password> <options>
+#
+# <luks_name>: This is the name of your LUKS volume.
+# For example: crypt-home
+#
+# <device>: This is the device containing your LUKS volume.
+# For example: /dev/sda2
+#
+# <password>: This is either the volume password in plain text, or the name of
+# a key file. Use 'none' to interactively enter password on boot.
+#
+# <options>: Comma-separated list of options. Note that there must be a
+# password field for any options to be picked up (use a password of 'none' to
+# get a password prompt at boot). The following options are supported:
+#
+# discard -- this will cause --allow-discards to be passed to the cryptsetup
+# program while opening the LUKS volume.
+#
+# ro -- this will cause --readonly to be passed to the cryptsetup program while
+# opening the LUKS volume.
+#
+# swap -- this option cannot be used with other options. The device given will
+# be formatted as a new encrypted volume with a random key on boot, and used as
+# swap.
+#
if [ -f /etc/crypttab -a -x /sbin/cryptsetup ]; then
# First, check for device-mapper support.
if ! grep -wq device-mapper /proc/devices ; then
@@ -113,25 +143,31 @@ if [ -f /etc/crypttab -a -x /sbin/cryptsetup ]; then
OPTS="${LUKSARRAY[3]}"
LUKSOPTS=""
if echo $OPTS | grep -wq ro ; then LUKSOPTS="${LUKSOPTS} --readonly" ; fi
-
+ if echo $OPTS | grep -wq discard ; then LUKSOPTS="${LUKSOPTS} --allow-discards" ; fi
# Skip LUKS volumes that were already unlocked (in the initrd):
/sbin/cryptsetup status $LUKS 2>/dev/null | head -n 1 | grep -q "is active" && continue
if /sbin/cryptsetup isLuks $DEV 2>/dev/null ; then
- echo "Unlocking LUKS crypt volume '${LUKS}' on device '$DEV':"
- if [ -n "${PASS}" ]; then
- if [ -f ${PASS} ]; then
+ if [ -z "${LUKSOPTS}" ]; then
+ echo "Unlocking LUKS encrypted volume '${LUKS}' on device '$DEV':"
+ else
+ echo "Unlocking LUKS encrypted volume '${LUKS}' on device '$DEV' with options '${LUKSOPTS}':"
+ fi
+ if [ -n "${PASS}" -a "${PASS}" != "none" ]; then
+ if [ -f "${PASS}" ]; then
+ # A password was given a key-file filename
/sbin/cryptsetup ${LUKSOPTS} --key-file=${PASS} luksOpen $DEV $LUKS
- elif [ "${PASS}" != "none" ]; then
- # A password field of 'none' indicates a line for swap:
+ else
+ # A password was provided in plain text
echo "${PASS}" | /sbin/cryptsetup ${LUKSOPTS} luksOpen $DEV $LUKS
fi
else
+ # No password was given, or a password of 'none' was given
/sbin/cryptsetup ${LUKSOPTS} luksOpen $DEV $LUKS </dev/tty0 >/dev/tty0 2>&1
fi
elif echo $OPTS | grep -wq swap ; then
# If any of the volumes is to be used as encrypted swap,
# then encrypt it using a random key and run mkswap:
- echo "Creating encrypted swap on device '$DEV' mapped to '${LUKS}':"
+ echo "Creating encrypted swap volume '${LUKS}' on device '$DEV':"
/sbin/cryptsetup --cipher=aes --key-file=/dev/urandom --key-size=256 create $LUKS $DEV
mkswap /dev/mapper/$LUKS
fi
@@ -146,19 +182,41 @@ if [ -x /etc/rc.d/rc.fuse ]; then
sh /etc/rc.d/rc.fuse start
fi
+# Set the tick and frequency for the system clock.
+# Default values are: TICK=10000 and FREQ=0
+TICK=10000
+FREQ=0
+# If there's a /etc/default/adjtimex config file, source it to override
+# the default TICK and FREQ:
+if [ -r /etc/default/adjtimex ]; then
+ . /etc/default/adjtimex
+fi
+if /sbin/adjtimex --tick $TICK --frequency $FREQ; then
+ echo "Setting the system clock rate: /sbin/adjtimex --tick $TICK --frequency $FREQ"
+else
+ echo "Failed to set system clock with adjtimex, possibly invalid parameters? (TICK=$TICK FREQ=$FREQ)"
+fi
+
# Set the system time from the hardware clock using hwclock --hctosys.
if [ -x /sbin/hwclock ]; then
# Check for a broken motherboard RTC clock (where ioports for rtc are
# unknown) to prevent hwclock causing a hang:
- if ! grep -q -w rtc /proc/ioports ; then
+ if ! grep -q " : rtc" /proc/ioports ; then
CLOCK_OPT="--directisa"
fi
- if grep -wq "^UTC" /etc/hardwareclock ; then
- echo -n "Setting system time from the hardware clock (UTC): "
- /sbin/hwclock $CLOCK_OPT --utc --hctosys
- else
- echo -n "Setting system time from the hardware clock (localtime): "
+ if [ /etc/adjtime -nt /etc/hardwareclock ]; then
+ if grep -q "^LOCAL" /etc/adjtime ; then
+ echo -n "Setting system time from the hardware clock (localtime): "
+ else
+ echo -n "Setting system time from the hardware clock (UTC): "
+ fi
+ /sbin/hwclock $CLOCK_OPT --hctosys
+ elif grep -wq "^localtime" /etc/hardwareclock 2> /dev/null ; then
+ echo -n "Setting system time from the hardware clock (localtime): "
/sbin/hwclock $CLOCK_OPT --localtime --hctosys
+ else
+ echo -n "Setting system time from the hardware clock (UTC): "
+ /sbin/hwclock $CLOCK_OPT --utc --hctosys
fi
date
fi
@@ -224,51 +282,20 @@ if [ ! $READWRITE = yes ]; then
echo "Remounting root device with read-write enabled."
/sbin/mount -w -v -n -o remount /
if [ $? -gt 0 ] ; then
- echo
- echo "Attempt to remount root device as read-write failed! This is going to"
+ echo "FATAL: Attempt to remount root device as read-write failed! This is going to"
echo "cause serious problems."
- echo
- echo "If you're using the UMSDOS filesystem, you **MUST** mount the root partition"
- echo "read-write! You can make sure the root filesystem is getting mounted "
- echo "read-write with the 'rw' flag to Loadlin:"
- echo
- echo "loadlin vmlinuz root=/dev/hda1 rw (replace /dev/hda1 with your root device)"
- echo
- echo "Normal bootdisks can be made to mount a system read-write with the rdev command:"
- echo
- echo "rdev -R /dev/fd0 0"
- echo
- echo "You can also get into your system by using a boot disk with a command like this"
- echo "on the LILO prompt line: (change the root partition name as needed)"
- echo
- echo "LILO: mount root=/dev/hda1 rw"
- echo
- echo "Please press ENTER to continue, then reboot and use one of the above methods to"
- echo -n "get into your machine and start looking for the problem. "
- read junk;
fi
else
echo "Testing root filesystem status: read-write filesystem"
echo
- echo "*** ERROR: Root partition has already been mounted read-write. Cannot check!"
+ echo "ERROR: Root partition has already been mounted read-write. Cannot check!"
echo
echo "For filesystem checking to work properly, your system must initially mount"
- echo "the root partition as read only. Please modify your kernel with 'rdev' so that"
- echo "it does this. If you're booting with LILO, add a line:"
+ echo "the root partition as read only. If you're booting with LILO, add a line:"
echo
echo " read-only"
echo
echo "to the Linux section in your /etc/lilo.conf and type 'lilo' to reinstall it."
- echo
- echo "If you boot from a kernel on a floppy disk, put it in the drive and type:"
- echo " rdev -R /dev/fd0 1"
- echo
- echo "If you boot from a bootdisk, or with Loadlin, you can add the 'ro' flag."
- echo
- echo "This will fix the problem *AND* eliminate this annoying message. :^)"
- echo
- echo -n "Press ENTER to continue. "
- read junk;
fi # Done checking root filesystem
@@ -278,12 +305,15 @@ fi # Done checking root filesystem
# Add entry for / to /etc/mtab:
/sbin/mount -f -w /
-# Add /proc and /sys mounts to /etc/mtab:
+# Add /proc, /sys, and /dev/shm mounts to /etc/mtab:
if [ -d /proc/sys ]; then
- /sbin/mount -f proc /proc -t proc
+ /sbin/mount -f -t proc proc /proc
fi
if [ -d /sys/bus ]; then
- /sbin/mount -f sysfs /sys -t sysfs
+ /sbin/mount -f -t sysfs sysfs /sys
+fi
+if grep -q '^[^ ]\+ /dev/shm ' /proc/mounts 2> /dev/null ; then
+ /sbin/mount -f -t tmpfs tmpfs /dev/shm
fi
# Configure ISA Plug-and-Play devices:
@@ -293,30 +323,20 @@ if [ -r /etc/isapnp.conf ]; then
fi
fi
-# This loads any kernel modules that are needed. These might be required to
-# use your ethernet card, sound card, or other optional hardware.
-# Priority is given first to a script named "rc.modules.local", then
-# to "rc.modules-$FULL_KERNEL_VERSION", and finally to the plain "rc.modules".
-# Note that if /etc/rc.d/rc.modules.local is found, then that will be the ONLY
-# rc.modules script the machine will run, so make sure it has everything in
-# it that you need.
-if [ -x /etc/rc.d/rc.modules.local -a -r /proc/modules ]; then
- echo "Running /etc/rc.d/rc.modules.local:"
- /bin/sh /etc/rc.d/rc.modules.local
-elif [ -x /etc/rc.d/rc.modules-$(uname -r) -a -r /proc/modules ]; then
- echo "Running /etc/rc.d/rc.modules-$(uname -r):"
- . /etc/rc.d/rc.modules-$(uname -r)
-elif [ -x /etc/rc.d/rc.modules -a -r /proc/modules -a -L /etc/rc.d/rc.modules ]; then
- echo "Running /etc/rc.d/rc.modules -> $(readlink /etc/rc.d/rc.modules):"
- . /etc/rc.d/rc.modules
-elif [ -x /etc/rc.d/rc.modules -a -r /proc/modules ]; then
- echo "Running /etc/rc.d/rc.modules:"
+# Run the kernel module script. This updates the module dependencies and
+# also supports manually loading kernel modules through rc.modules.local.
+if [ -x /etc/rc.d/rc.modules ]; then
. /etc/rc.d/rc.modules
fi
-# Configure runtime kernel parameters:
+# Configure kernel parameters:
if [ -x /sbin/sysctl -a -r /etc/sysctl.conf ]; then
- /sbin/sysctl -e -p /etc/sysctl.conf
+ echo "Configuring kernel parameters: /sbin/sysctl -e --system"
+ /sbin/sysctl -e --system
+elif [ -x /sbin/sysctl ]; then
+ echo "Configuring kernel parameters: /sbin/sysctl -e --system"
+ # Don't say "Applying /etc/sysctl.conf" or complain if the file doesn't exist
+ /sbin/sysctl -e --system 2> /dev/null | grep -v "Applying /etc/sysctl.conf"
fi
# Check all the non-root filesystems:
@@ -344,9 +364,12 @@ fi
echo "Mounting non-root local filesystems:"
sleep 3
if /bin/grep -wq devpts /proc/mounts ; then
- /sbin/mount -a -v -t nonfs,nosmbfs,nocifs,noproc,nosysfs,nodevpts
+ # This pipe after the mount command is just to convert the new
+ # mount verbose output back to the old format that contained
+ # more useful information:
+ /sbin/mount -a -v -t nonfs,nosmbfs,nocifs,noproc,nosysfs,nodevpts | grep successfully | cut -f 1 -d : | tr -d ' ' | while read dev ; do mount | grep "${dev} " ; done
else
- /sbin/mount -a -v -t nonfs,nosmbfs,nocifs,noproc,nosysfs
+ /sbin/mount -a -v -t nonfs,nosmbfs,nocifs,noproc,nosysfs | grep successfully | cut -f 1 -d : | tr -d ' ' | while read dev ; do mount | grep "${dev} " ; done
fi
# Enable swapping again. This is needed in case a swapfile is used,
@@ -354,6 +377,11 @@ fi
# mounted read-write.
/sbin/swapon -a 2> /dev/null
+# Start cgmanager (or cgproxy in a container):
+if [ -x /etc/rc.d/rc.cgmanager -a -d /sys/fs/cgroup ]; then
+ sh /etc/rc.d/rc.cgmanager start
+fi
+
# Clean up some temporary files:
rm -f /var/run/* /var/run/*/* /var/run/*/*/* /etc/nologin \
/etc/dhcpc/*.pid /etc/forcefsck /etc/fastboot \
@@ -362,6 +390,11 @@ rm -f /var/run/* /var/run/*/* /var/run/*/*/* /etc/nologin \
( cd /var/log/setup/tmp && rm -rf * )
( cd /tmp && rm -rf kde-[a-zA-Z]* ksocket-[a-zA-Z]* hsperfdata_[a-zA-Z]* plugtmp* )
+# Clear /var/lock/subsys:
+if [ -d /var/lock/subsys ]; then
+ rm -f /var/lock/subsys/*
+fi
+
# Create /tmp/{.ICE-unix,.X11-unix} if they are not present:
if [ ! -e /tmp/.ICE-unix ]; then
mkdir -p /tmp/.ICE-unix
diff --git a/source/a/sysvinit-scripts/scripts/rc.cpufreq b/source/a/sysvinit-scripts/scripts/rc.cpufreq
new file mode 100644
index 000000000..571ce41c7
--- /dev/null
+++ b/source/a/sysvinit-scripts/scripts/rc.cpufreq
@@ -0,0 +1,48 @@
+#!/bin/sh
+#
+# rc.cpufreq: Settings for CPU frequency and voltage scaling in the kernel.
+# For more information, see the kernel documentation in
+# /usr/src/linux/Documentation/cpu-freq/
+
+
+# Default CPU scaling governor to try. Some possible choices are:
+# performance: The CPUfreq governor "performance" sets the CPU statically
+# to the highest frequency within the borders of scaling_min_freq
+# and scaling_max_freq.
+# powersave: The CPUfreq governor "powersave" sets the CPU statically to the
+# lowest frequency within the borders of scaling_min_freq and
+# scaling_max_freq.
+# userspace: The CPUfreq governor "userspace" allows the user, or any
+# userspace program running with UID "root", to set the CPU to a
+# specific frequency by making a sysfs file "scaling_setspeed"
+# available in the CPU-device directory.
+# ondemand: The CPUfreq governor "ondemand" sets the CPU depending on the
+# current usage.
+# conservative: The CPUfreq governor "conservative", much like the "ondemand"
+# governor, sets the CPU depending on the current usage. It
+# differs in behaviour in that it gracefully increases and
+# decreases the CPU speed rather than jumping to max speed the
+# moment there is any load on the CPU.
+SCALING_GOVERNOR=ondemand
+
+# If rc.cpufreq is given an option, use it for the CPU scaling governor instead:
+if [ ! -z "$1" -a "$1" != "start" ]; then
+ SCALING_GOVERNOR=$1
+fi
+
+# If you need to load a specific CPUFreq driver, load it here. Most likely you don't.
+#/sbin/modprobe acpi-cpufreq
+
+# Attempt to apply the CPU scaling governor setting. This may or may not
+# actually override the default value depending on if the choice is supported
+# by the architecture, processor, or underlying CPUFreq driver. For example,
+# processors that use the Intel P-state driver will only be able to set
+# performance or powersave here.
+echo $SCALING_GOVERNOR | tee /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor 1> /dev/null 2> /dev/null
+
+# Report what CPU scaling governor is in use after applying the setting:
+if [ -r /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor ]; then
+ echo "Enabled CPU frequency scaling governor: $(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor)"
+fi
+
+unset SCALING_GOVERNOR
diff --git a/source/a/sysvinit-scripts/scripts/rc.modules b/source/a/sysvinit-scripts/scripts/rc.modules
new file mode 100644
index 000000000..650c0ef87
--- /dev/null
+++ b/source/a/sysvinit-scripts/scripts/rc.modules
@@ -0,0 +1,28 @@
+#!/bin/sh
+
+# /etc/rc.d/rc.modules
+
+# Determine the version of the running kernel:
+RELEASE=$(uname -r)
+
+# Update kernel module dependencies:
+if [ -e "/lib/modules/$RELEASE/modules.dep" ]; then
+ echo "Updating module dependency list for $RELEASE: /sbin/depmod --quick"
+ /sbin/depmod --quick
+else
+ echo "Creating module dependency list for $RELEASE: /sbin/depmod --all"
+ /sbin/depmod --all
+fi
+
+# Run any rc.modules-$(uname -r) file that exists (this is used
+# if you have specific modules which should only be loaded for
+# specific kernel versions):
+if [ -x "/etc/rc.d/rc.modules-$RELEASE" ]; then
+ /etc/rc.d/rc.modules-$RELEASE
+fi
+
+# Run a local (sysadmin-version) of rc.modules if it exists:
+if [ -x "/etc/rc.d/rc.modules.local" ]; then
+ /etc/rc.d/rc.modules.local
+fi
+
diff --git a/source/a/sysvinit-scripts/scripts/rc.modules.local b/source/a/sysvinit-scripts/scripts/rc.modules.local
new file mode 100644
index 000000000..6bd1f3390
--- /dev/null
+++ b/source/a/sysvinit-scripts/scripts/rc.modules.local
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+# /etc/rc.d/rc.modules.local
+
+# The Linux kernel source is the best place to look for documentation
+# for the many available kernel modules. This can be found under
+# /usr/src/linux-$VERSION/Documentation/.
+
+# Almost all necessary modules are automatically loaded when needed,
+# but there are a few exceptions. Here's a (not all-inclusive) list,
+# so uncomment any of the below entries or add others as needed:
+# Note that you could also create/edit rc.modules-$version if you
+# only wanted specific modules loaded for particular kernels.
+
+#/sbin/modprobe tun # Universal TUN/TAP device driver
+#/sbin/modprobe sg # Generic SCSI support for SATA DVD-RW
+
diff --git a/source/a/sysvinit-scripts/scripts/rc.sysvinit b/source/a/sysvinit-scripts/scripts/rc.sysvinit
index 916e59ee4..057c3f1ee 100644
--- a/source/a/sysvinit-scripts/scripts/rc.sysvinit
+++ b/source/a/sysvinit-scripts/scripts/rc.sysvinit
@@ -40,14 +40,12 @@ if [ "$runlevel" = "" ]; then
export prevlevel
fi
-# Run kill scripts in the previous runlevel if not "none"
-if [ ! "$prevlevel" = "N" ]; then
- for script in /etc/rc.d/rc$prevlevel.d/K* ; do
- if [ -x $script ]; then
- startup $script stop
- fi
- done
-fi
+# Run kill scripts:
+for script in /etc/rc.d/rc$runlevel.d/K* ; do
+ if [ -x $script ]; then
+ startup $script stop
+ fi
+done
# Now do the startup scripts:
for script in /etc/rc.d/rc$runlevel.d/S* ; do
diff --git a/source/a/sysvinit-scripts/sysvinit-scripts.SlackBuild b/source/a/sysvinit-scripts/sysvinit-scripts.SlackBuild
index d59bbf4a1..e165bfe2f 100755
--- a/source/a/sysvinit-scripts/sysvinit-scripts.SlackBuild
+++ b/source/a/sysvinit-scripts/sysvinit-scripts.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2005-2013 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2005-2016 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
VERSION=${VERSION:-2.0}
ARCH=noarch
-BUILD=${BUILD:-17}
+BUILD=${BUILD:-33}
CWD=$(pwd)
TMP=${TMP:-/tmp}
@@ -34,7 +34,7 @@ mkdir -p $TMP $PKG
# Install Slackware scripts and config files from $CWD/scripts/:
mkdir -p $PKG/etc/rc.d
-for file in rc.{4,6,K,M,S} rc.local rc.loop rc.sysvinit ; do
+for file in rc.{4,6,K,M,S} rc.cpufreq rc.local rc.loop rc.sysvinit rc.modules rc.modules.local ; do
cp -a $CWD/scripts/$file $PKG/etc/rc.d/${file}.new
chmod 755 $PKG/etc/rc.d/${file}.new
chown root:root $PKG/etc/rc.d/${file}.new
diff --git a/source/a/sysvinit/CHANGES b/source/a/sysvinit/CHANGES
new file mode 100644
index 000000000..a4c1f96b9
--- /dev/null
+++ b/source/a/sysvinit/CHANGES
@@ -0,0 +1 @@
+Removed pidof symlink.
diff --git a/source/a/sysvinit/doinst.sh b/source/a/sysvinit/doinst.sh
index 0e476e119..841c48f09 100644
--- a/source/a/sysvinit/doinst.sh
+++ b/source/a/sysvinit/doinst.sh
@@ -40,8 +40,6 @@ fi
( cd sbin ; ln -sf init telinit )
( cd sbin ; rm -rf reboot )
( cd sbin ; ln -sf halt reboot )
-( cd sbin ; rm -rf pidof )
-( cd sbin ; ln -sf killall5 pidof )
( cd sbin ; rm -rf poweroff )
( cd sbin ; ln -sf halt poweroff )
diff --git a/source/a/sysvinit/sysvinit.SlackBuild b/source/a/sysvinit/sysvinit.SlackBuild
index bb1f8ee6e..49754b74b 100755
--- a/source/a/sysvinit/sysvinit.SlackBuild
+++ b/source/a/sysvinit/sysvinit.SlackBuild
@@ -22,7 +22,7 @@
VERSION=${VERSION:-2.88dsf}
-BUILD=${BUILD:-3}
+BUILD=${BUILD:-4}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -97,7 +97,7 @@ done
for page in inittab.5 initscript.5 ; do
cat $page | gzip -9c > $PKG/usr/man/man5/$page.gz
done
-for page in halt.8 init.8 killall5.8 pidof.8 poweroff.8 reboot.8 runlevel.8 \
+for page in halt.8 init.8 killall5.8 poweroff.8 reboot.8 runlevel.8 \
shutdown.8 telinit.8 bootlogd.8 ; do
cat $page | gzip -9c > $PKG/usr/man/man8/$page.gz
done
diff --git a/source/a/tar/rmt.8 b/source/a/tar/rmt.8
deleted file mode 100644
index 86d2cf92f..000000000
--- a/source/a/tar/rmt.8
+++ /dev/null
@@ -1,217 +0,0 @@
-.\" Copyright (c) 1983, 1991 The Regents of the University of California.
-.\" All rights reserved.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\" notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\" notice, this list of conditions and the following disclaimer in the
-.\" documentation and/or other materials provided with the distribution.
-.\" 3. All advertising materials mentioning features or use of this software
-.\" must display the following acknowledgement:
-.\" This product includes software developed by the University of
-.\" California, Berkeley and its contributors.
-.\" 4. Neither the name of the University nor the names of its contributors
-.\" may be used to endorse or promote products derived from this software
-.\" without specific prior written permission.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 REGENTS OR CONTRIBUTORS 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.
-.\"
-.\" @(#)rmt.8 6.5 (Berkeley) 3/16/91
-.\"
-.Dd March 16, 1991
-.Dt RMT 8
-.Os BSD 4.2
-.Sh NAME
-.Nm rmt
-.Nd remote magtape protocol module
-.Sh SYNOPSIS
-.Nm rmt
-.Sh DESCRIPTION
-.Nm Rmt
-is a program used by the remote dump and restore programs
-in manipulating a magnetic tape drive through an interprocess
-communication connection.
-.Nm Rmt
-is normally started up with an
-.Xr rexec 3
-or
-.Xr rcmd 3
-call.
-.Pp
-The
-.Nm rmt
-program accepts requests specific to the manipulation of
-magnetic tapes, performs the commands, then responds with
-a status indication. All responses are in
-.Tn ASCII
-and in
-one of two forms.
-Successful commands have responses of:
-.Bd -filled -offset indent
-.Sm off
-.Sy A Ar number No \en
-.Sm on
-.Ed
-.Pp
-.Ar Number
-is an
-.Tn ASCII
-representation of a decimal number.
-Unsuccessful commands are responded to with:
-.Bd -filled -offset indent
-.Sm off
-.Xo Sy E Ar error-number
-.No \en Ar error-message
-.No \en
-.Xc
-.Sm on
-.Ed
-.Pp
-.Ar Error-number
-is one of the possible error
-numbers described in
-.Xr intro 2
-and
-.Ar error-message
-is the corresponding error string as printed
-from a call to
-.Xr perror 3 .
-The protocol is comprised of the
-following commands, which are sent as indicated - no spaces are supplied
-between the command and its arguments, or between its arguments, and
-.Ql \en
-indicates that a newline should be supplied:
-.Bl -tag -width Ds
-.Sm off
-.It Xo Sy \&O Ar device
-.No \en Ar mode No \en
-.Xc
-Open the specified
-.Ar device
-using the indicated
-.Ar mode .
-.Ar Device
-is a full pathname and
-.Ar mode
-is an
-.Tn ASCII
-representation of a decimal
-number suitable for passing to
-.Xr open 2 .
-If a device had already been opened, it is
-closed before a new open is performed.
-.It Xo Sy C Ar device No \en
-.Xc
-Close the currently open device. The
-.Ar device
-specified is ignored.
-.It Xo Sy L
-.Ar whence No \en
-.Ar offset No \en
-.Xc
-.Sm on
-Perform an
-.Xr lseek 2
-operation using the specified parameters.
-The response value is that returned from the
-.Xr lseek
-call.
-.Sm off
-.It Sy W Ar count No \en
-.Sm on
-Write data onto the open device.
-.Nm Rmt
-reads
-.Ar count
-bytes from the connection, aborting if
-a premature end-of-file is encountered.
-The response value is that returned from
-the
-.Xr write 2
-call.
-.Sm off
-.It Sy R Ar count No \en
-.Sm on
-Read
-.Ar count
-bytes of data from the open device.
-If
-.Ar count
-exceeds the size of the data buffer (10 kilobytes), it is
-truncated to the data buffer size.
-.Nm rmt
-then performs the requested
-.Xr read 2
-and responds with
-.Sm off
-.Sy A Ar count-read No \en
-.Sm on
-if the read was
-successful; otherwise an error in the
-standard format is returned. If the read
-was successful, the data read is then sent.
-.Sm off
-.It Xo Sy I Ar operation
-.No \en Ar count No \en
-.Xc
-.Sm on
-Perform a
-.Dv MTIOCOP
-.Xr ioctl 2
-command using the specified parameters.
-The parameters are interpreted as the
-.Tn ASCII
-representations of the decimal values
-to place in the
-.Ar mt_op
-and
-.Ar mt_count
-fields of the structure used in the
-.Xr ioctl
-call. The return value is the
-.Ar count
-parameter when the operation is successful.
-.It Sy S
-Return the status of the open device, as
-obtained with a
-.Dv MTIOCGET
-.Xr ioctl
-call. If the operation was successful,
-an ``ack'' is sent with the size of the
-status buffer, then the status buffer is
-sent (in binary).
-.El
-.Sm on
-.Pp
-Any other command causes
-.Nm rmt
-to exit.
-.Sh DIAGNOSTICS
-All responses are of the form described above.
-.Sh SEE ALSO
-.Xr rcmd 3 ,
-.Xr rexec 3 ,
-.Xr mtio 4 ,
-.Xr rdump 8 ,
-.Xr rrestore 8
-.Sh BUGS
-People tempted to use this for a remote file access protocol
-are discouraged.
-.Sh HISTORY
-The
-.Nm
-command appeared in
-.Bx 4.2 .
diff --git a/source/a/tar/tar-1.2x.support_txz.diff b/source/a/tar/tar-1.2x.support_txz.diff
deleted file mode 100644
index efd720b55..000000000
--- a/source/a/tar/tar-1.2x.support_txz.diff
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -Nur tar-1.23.orig/src/suffix.c tar-1.23/src/suffix.c
---- tar-1.23.orig/src/suffix.c 2010-03-09 06:52:41.000000000 -0600
-+++ tar-1.23/src/suffix.c 2010-03-10 15:34:22.417696189 -0600
-@@ -43,6 +43,7 @@
- { S(tlz, LZMA) },
- { S(lzo, LZOP) },
- { S(xz, XZ) },
-+ { S(txz, XZ) },
- #undef S
- #undef __CAT2__
- };
diff --git a/source/a/tar/tar.1 b/source/a/tar/tar.1
deleted file mode 100644
index 8fe4f8b5a..000000000
--- a/source/a/tar/tar.1
+++ /dev/null
@@ -1,371 +0,0 @@
-.\" @(#)tar.1 1.11.1 93/19/22 PJV;
-.TH TAR 1 "22 September 1993"
-.SH NAME
-tar \- The GNU version of the tar archiving utility
-.SH SYNOPSIS
-.B tar
-[
-.B \-
-]
-.B A --catenate --concatenate \||\| c --create \||\| d --diff --compare \||\| r --append \||\| t --list \||\| u --update \||\| x -extract --get
-[
-.B --atime-preserve
-]
-[
-.B -b, --block-size N
-]
-[
-.B -B, --read-full-blocks
-]
-[
-.B -C, --directory DIR
-]
-[
-.B --checkpoint
-]
-[
-.B -f, --file [HOSTNAME:]F
-]
-[
-.B --force-local
-]
-[
-.B -F, --info-script F --new-volume-script F
-]
-[
-.B -G, --incremental
-]
-[
-.B -g, --listed-incremental F
-]
-[
-.B -h, --dereference
-]
-[
-.B -i, --ignore-zeros
-]
-[
-.B -J, --xz
-]
-[
-.B -j, --bzip2
-]
-[
-.B --ignore-failed-read
-]
-[
-.B -k, --keep-old-files
-]
-[
-.B -K, --starting-file F
-]
-[
-.B -l, --one-file-system
-]
-[
-.B -L, --tape-length N
-]
-[
-.B -m, --modification-time
-]
-[
-.B -M, --multi-volume
-]
-[
-.B -N, --after-date DATE, --newer DATE
-]
-[
-.B -o, --old-archive, --portability
-]
-[
-.B -O, --to-stdout
-]
-[
-.B -p, --same-permissions, --preserve-permissions
-]
-[
-.B -P, --absolute-names
-]
-[
-.B --preserve
-]
-[
-.B -R, --record-number
-]
-[
-.B --remove-files
-]
-[
-.B -s, --same-order, --preserve-order
-]
-[
-.B --same-owner
-]
-[
-.B --numeric-owner
-]
-[
-.B -S, --sparse
-]
-[
-.B -T, --files-from F
-]
-[
-.B --null
-]
-[
-.B --totals
-]
-[
-.B -v, --verbose
-]
-[
-.B -V, --label NAME
-]
-[
-.B --version
-]
-[
-.B -w, --interactive, --confirmation
-]
-[
-.B -W, --verify
-]
-[
-.B --exclude FILE
-]
-[
-.B -X, --exclude-from FILE
-]
-[
-.B -Z, --compress, --uncompress
-]
-[
-.B -z, --gzip, --ungzip
-]
-[
-.B --use-compress-program PROG
-]
-[
-.B --block-compress
-]
-[
-.B -[0-7][lmh]
-]
-.TP
-.I filename1 [ filename2, ... filenameN ]
-.TP
-.I directory1 [ directory2, ...directoryN ]
-.SH DESCRIPTION
-.LP
-This manual page documents the GNU version of
-.B tar
-, an archiving program designed to store and extract files from
-an archive file known as a
-.IR tarfile.
-A
-.IR tarfile
-may be made on a tape drive, however, it is also common
-to write a
-.IR tarfile
-to a normal file.
-The first argument to
-.B tar
-must be one of the options:
-.BR Acdrtux ,
-followed by any optional functions.
-The final arguments to
-.B tar
-are the names of the files or directories which should be archived. The use
-of a directory name always implies that the subdirectories below should be
-included in the archive.
-.SH EXAMPLES
-.TP
-.B tar -xvvf foo.tar
-extract foo.tar
-.TP
-.B tar -xvvzf foo.tar.gz
-extract gzipped foo.tar.gz
-.TP
-.B tar -cvvf foo.tar foo/
-tar contents of folder foo in foo.tar
-.SH "FUNCTION LETTERS"
-.TP
-.B One of the following options must be used:
-.TP
-.B -A, --catenate, --concatenate
-append tar files to an archive
-.TP
-.B -c, --create
-create a new archive
-.TP
-.B -d, --diff, --compare
-find differences between archive and file system
-.TP
-.B --delete
-delete from the archive (not for use on mag tapes!)
-.TP
-.B -r, --append
-append files to the end of an archive
-.TP
-.B -t, --list
-list the contents of an archive
-.TP
-.B -u, --update
-only append files that are newer than copy in archive
-.TP
-.B -x, --extract, --get
-extract files from an archive
-.SH "OTHER OPTIONS"
-.TP
-.B --atime-preserve
-don't change access times on dumped files
-.TP
-.B -b, --block-size N
-block size of Nx512 bytes (default N=20)
-.TP
-.B -B, --read-full-blocks
-reblock as we read (for reading 4.2BSD pipes)
-.TP
-.B -C, --directory DIR
-change to directory DIR
-.TP
-.B --checkpoint
-print directory names while reading the archive
-.TP
-.B -f, --file [HOSTNAME:]F
-use archive file or device F (default "-", meaning stdin/stdout)
-.TP
-.B --force-local
-archive file is local even if has a colon
-.TP
-.B -F, --info-script F --new-volume-script F
-run script at end of each tape (implies -M)
-.TP
-.B -G, --incremental
-create/list/extract old GNU-format incremental backup
-.TP
-.B -g, --listed-incremental F
-create/list/extract new GNU-format incremental backup
-.TP
-.B -h, --dereference
-don't dump symlinks; dump the files they point to
-.TP
-.B -i, --ignore-zeros
-ignore blocks of zeros in archive (normally mean EOF)
-.TP
-.B -j, --bzip2
-filter archive through bzip2, use to decompress .bz2 files
-.TP
-.B --ignore-failed-read
-don't exit with non-zero status on unreadable files
-.TP
-.B -k, --keep-old-files
-keep existing files; don't overwrite them from archive
-.TP
-.B -K, --starting-file F
-begin at file F in the archive
-.TP
-.B -l, --one-file-system
-stay in local file system when creating an archive
-.TP
-.B -L, --tape-length N
-change tapes after writing N*1024 bytes
-.TP
-.B -m, --modification-time
-don't extract file modified time
-.TP
-.B -M, --multi-volume
-create/list/extract multi-volume archive
-.TP
-.B -N, --after-date DATE, --newer DATE
-only store files newer than DATE
-.TP
-.B -o, --old-archive, --portability
-write a V7 format archive, rather than ANSI format
-.TP
-.B -O, --to-stdout
-extract files to standard output
-.TP
-.B -p, --same-permissions, --preserve-permissions
-extract all protection information
-.TP
-.B -P, --absolute-paths
-don't strip leading `/'s from file names
-.TP
-.B --preserve
-like -p -s
-.TP
-.B -R, --record-number
-show record number within archive with each message
-.TP
-.B --remove-files
-remove files after adding them to the archive
-.TP
-.B -s, --same-order, --preserve-order
-list of names to extract is sorted to match archive
-.TP
-.B --same-owner
-create extracted files with the same ownership
-.TP
-.B --numeric-owner
-always use numbers for user/group names
-.TP
-.B -S, --sparse
-handle sparse files efficiently
-.TP
-.B -T, --files-from F
-get names to extract or create from file F
-.TP
-.B --null
--T reads null-terminated names, disable -C
-.TP
-.B --totals
-print total bytes written with --create
-.TP
-.B -v, --verbose
-verbosely list files processed
-.TP
-.B -V, --label NAME
-create archive with volume name NAME
-.TP
-.B --version
-print tar program version number
-.TP
-.B -w, --interactive, --confirmation
-ask for confirmation for every action
-.TP
-.B -W, --verify
-attempt to verify the archive after writing it
-.TP
-.B --exclude FILE
-exclude file FILE
-.TP
-.B -X, --exclude-from FILE
-exclude files listed in FILE
-.TP
-.B -Z, --compress, --uncompress
-filter the archive through compress
-.TP
-.B -z, --gzip, --ungzip
-filter the archive through gzip
-.TP
-.B --use-compress-program PROG
-filter the archive through PROG (which must accept -d)
-.TP
-.B --block-compress
-block the output of compression program for tapes
-.TP
-.B -[0-7][lmh]
-specify drive and density
-.SH BUGS
-.LP
-The GNU folks, in general, abhor man pages, and create info documents instead.
-The maintainer of tar falls into this category. This man page is neither
-complete, nor current, and was included in the Debian Linux packaging of tar
-entirely to reduce the frequency with which the lack of a man page gets
-reported as a bug in our defect tracking system.
-
-If you really want to understand tar, then you should run info and read the
-tar info pages, or use the info mode in emacs.
-
diff --git a/source/a/tar/tar.SlackBuild b/source/a/tar/tar.SlackBuild
index ea608f0b3..e3a1f7d07 100755
--- a/source/a/tar/tar.SlackBuild
+++ b/source/a/tar/tar.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2005-2011 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2005-2015 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,7 +22,7 @@
# Slackware build script for tar
-VERSION=1.26
+VERSION=1.29
BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:--j7}
@@ -30,7 +30,7 @@ NUMJOBS=${NUMJOBS:--j7}
# Automatically determine architecture for build & packaging:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ i?86) export ARCH=i586 ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) export ARCH=$( uname -m ) ;;
esac
@@ -43,8 +43,8 @@ PKG=$TMP/package-tar
rm -rf $PKG
mkdir -p $TMP $PKG
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
elif [ "$ARCH" = "x86_64" ]; then
@@ -62,19 +62,25 @@ fi
# Slackware package utils. And, we'll even let people remove it and
# the pkgutils will still try to work (but eventually they'll pay the
# price :)
+#
+# NOTE: The latest versions of tar can supposedly work for the pkgtools,
+# but some changes to add new options to the scripts might be required.
+#
+# Until tar-1.13 won't compile any more, it might be safer to keep using
+# it, though.
cd $TMP
rm -rf tar-1.13
tar xvf $CWD/tar-1.13.tar.gz || exit 1
cd tar-1.13 || exit 1
zcat $CWD/tar-1.13.bzip2.diff.gz | patch -p1 --verbose || exit 1
# The original config.{guess,sub} do not work on x86_64
-cp -p /usr/share/libtool/config/config.{guess,sub} .
+cp -p --verbose /usr/share/libtool/build-aux/config.{guess,sub} .
chown -R root:root .
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--disable-nls \
- --build=$ARCH-slackware-linux
+ --build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || make || exit 1
mkdir -p $PKG/bin
cat src/tar > $PKG/bin/tar-1.13
@@ -92,23 +98,18 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-# Don't spew "Record size = foo blocks" messages:
-zcat $CWD/tar.norecordsizespam.diff.gz | patch -p1 --verbose || exit 1
-
# The "A lone zero block at %s" messages also cause problems:
zcat $CWD/tar.nolonezero.diff.gz | patch -p1 --verbose || exit 1
-# Add support for *.txz files (our packages)
-zcat $CWD/tar-1.2x.support_txz.diff.gz | patch -p1 --verbose || exit 1
-
FORCE_UNSAFE_CONFIGURE=1 \
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--infodir=/usr/info \
+ --mandir=/usr/man \
--docdir=/usr/doc/tar-$VERSION \
--enable-backup-scripts \
- --build=$ARCH-slackware-linux
+ --build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
@@ -132,27 +133,29 @@ mkdir -p $PKG/{etc,sbin}
ln -sf /usr/libexec/rmt .
)
-mkdir -p $PKG/usr/man/man{1,8}
-cat $CWD/tar.1.gz > $PKG/usr/man/man1/tar.1.gz
-cat $CWD/rmt.8.gz > $PKG/usr/man/man8/rmt.8.gz
-
-rm -f $PKG/usr/info/dir
-gzip -9 $PKG/usr/info/*
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Compress info files, if any:
+if [ -d $PKG/usr/info ]; then
+ ( cd $PKG/usr/info
+ rm -f dir
+ gzip -9 *
+ )
+fi
mkdir -p $PKG/usr/doc/tar-$VERSION
cp -a \
- ABOUT-NLS AUTHORS COPYING NEWS PORTS README THANKS TODO \
+ AUTHORS COPYING* NEWS PORTS README* THANKS TODO \
$PKG/usr/doc/tar-$VERSION
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
-/sbin/makepkg -l y -c n $TMP/tar-$VERSION-$ARCH-$BUILD.tgz
-
-# Clean up the extra stuff:
-if [ "$1" = "--cleanup" ]; then
- rm -rf $TMP/tar-$VERSION
- rm -rf $PKG
-fi
+/sbin/makepkg -l y -c n $TMP/tar-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/a/tar/tar.nolonezero.diff b/source/a/tar/tar.nolonezero.diff
index e1316beb3..c47e067f6 100644
--- a/source/a/tar/tar.nolonezero.diff
+++ b/source/a/tar/tar.nolonezero.diff
@@ -1,6 +1,7 @@
---- ./src/list.c.orig 2010-11-01 15:34:59.000000000 -0500
-+++ ./src/list.c 2010-11-08 13:42:14.000000000 -0600
-@@ -212,6 +212,14 @@
+diff -Nur tar-1.27.1.orig/src/list.c tar-1.27.1/src/list.c
+--- tar-1.27.1.orig/src/list.c 2013-03-14 15:18:10.000000000 -0500
++++ tar-1.27.1/src/list.c 2014-07-26 20:42:16.613004098 -0500
+@@ -211,6 +211,14 @@
if (!ignore_zeros_option)
{
@@ -15,7 +16,7 @@
char buf[UINTMAX_STRSIZE_BOUND];
status = read_header (&current_header, &current_stat_info,
-@@ -221,6 +229,7 @@
+@@ -220,6 +228,7 @@
WARNOPT (WARN_ALONE_ZERO_BLOCK,
(0, 0, _("A lone zero block at %s"),
STRINGIFY_BIGINT (current_block_ordinal (), buf)));
diff --git a/source/a/tar/tar.norecordsizespam.diff b/source/a/tar/tar.norecordsizespam.diff
deleted file mode 100644
index 0a1f4e1df..000000000
--- a/source/a/tar/tar.norecordsizespam.diff
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -Nur tar-1.23.orig//src/buffer.c tar-1.23/src/buffer.c
---- tar-1.23.orig//src/buffer.c 2010-03-09 06:52:41.000000000 -0600
-+++ tar-1.23/src/buffer.c 2010-03-15 23:47:30.122668444 -0500
-@@ -734,7 +734,7 @@
- more = record_start->buffer + status;
- left = record_size - status;
-
-- if (left && left % BLOCKSIZE == 0
-+ /* if (left && left % BLOCKSIZE == 0
- && verbose_option
- && record_start_block == 0 && status != 0
- && archive_is_dev ())
-@@ -745,7 +745,7 @@
- "Record size = %lu blocks",
- rsize),
- rsize));
-- }
-+ } */
-
- while (left % BLOCKSIZE != 0
- || (left && status && read_full_records))
diff --git a/source/a/tcsh/doinst.sh b/source/a/tcsh/doinst.sh
index d351e5057..00c81536c 100644
--- a/source/a/tcsh/doinst.sh
+++ b/source/a/tcsh/doinst.sh
@@ -1,8 +1,4 @@
-if fgrep tcsh etc/shells 1> /dev/null 2> /dev/null ; then
- GOOD=y
-else
+if ! grep -q tcsh etc/shells 2> /dev/null ; then
echo "/bin/tcsh" >> etc/shells
echo "/bin/csh" >> etc/shells
fi
-( cd bin ; rm -rf csh )
-( cd bin ; ln -sf tcsh csh )
diff --git a/source/a/tcsh/tcsh-6.18.01-crypt.diff b/source/a/tcsh/tcsh-6.18.01-crypt.diff
deleted file mode 100644
index db7306e2b..000000000
--- a/source/a/tcsh/tcsh-6.18.01-crypt.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- tc.func.c.orig 2013-05-16
-+++ tc.func.c 2013-05-16
-@@ -733,7 +733,7 @@ auto_lock(void)
- pp = xgetpass("Password:");
-
- crpp = XCRYPT(pw, pp, srpp);
-- if ((strcmp(crpp, srpp) == 0)
-+ if ((crpp && (strcmp(crpp, srpp) == 0))
- #ifdef AFS
- || (ka_UserAuthenticateGeneral(KA_USERAUTH_VERSION,
- afsname, /* name */
diff --git a/source/a/tcsh/tcsh.SlackBuild b/source/a/tcsh/tcsh.SlackBuild
index 44e398c0a..2fe0f1c22 100755
--- a/source/a/tcsh/tcsh.SlackBuild
+++ b/source/a/tcsh/tcsh.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2012, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2012, 2013, 2015 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,25 +21,28 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=6.18.01
-BUILD=${BUILD:-2}
+PKGNAM=tcsh
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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
+NUMJOBS=${NUMJOBS:-" -j7 "}
+
CWD=$(pwd)
TMP=${TMP:-/tmp}
-PKG=$TMP/package-tcsh
+PKG=$TMP/package-${PKGNAM}
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
elif [ "$ARCH" = "x86_64" ]; then
@@ -47,18 +50,16 @@ elif [ "$ARCH" = "x86_64" ]; then
fi
rm -rf $PKG
-mkdir -p $TMP $PKG
+mkdir -p $TMP $PKG/etc
cd $TMP
-rm -rf tcsh-$VERSION
-tar xvf $CWD/tcsh-$VERSION.tar.?z* || exit 1
-cd tcsh-$VERSION
-
-zcat $CWD/tcsh-6.18.01-crypt.diff.gz | patch -p0 --verbose || exit 1
+rm -rf ${PKGNAM}-$VERSION
+tar xvf $CWD/${PKGNAM}-$VERSION.tar.?z* || exit 1
+cd ${PKGNAM}-$VERSION || exit 1
# The LS_COLORS variable shared by tcsh has new options in recent
# versions of coreutils that cause tcsh to exit, so disable the
# built-in color ls:
-zcat $CWD/tcsh.nobuiltincolorls.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/${PKGNAM}.nobuiltincolorls.diff.gz | patch -p1 --verbose || exit 1
chown -R root:root .
find . \
@@ -67,36 +68,49 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+# Configure:
CFLAGS="$SLKCFLAGS" \
./configure \
- --prefix= \
- $ARCH-slackware-linux
-make -j4 || exit 1
-mkdir -p $PKG/etc
-mkdir -p $PKG/bin
-cat tcsh > $PKG/bin/tcsh
-chmod 755 $PKG/bin/tcsh
-mkdir -p $PKG/usr/man/man1
-cat tcsh.man | gzip -9c > $PKG/usr/man/man1/tcsh.1.gz
-echo '.so man1/tcsh.1' | gzip -9c > $PKG/usr/man/man1/csh.1.gz
+ --prefix=/usr \
+ --bindir=/bin \
+ --sysconfdir=/etc \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --mandir=/usr/man \
+ --build=$ARCH-slackware-linux || exit 1
+
+# Build and install:
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+( cd $PKG/bin ; ln -sf tcsh csh )
+( cd $PKG/usr/share/man/man1 ; ln -sf tcsh.1 csh.1 )
+mv $PKG/usr/share/man $PKG/usr
+
+# Strip binaries:
( cd $PKG
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
)
-mkdir -p $PKG/usr/doc/tcsh-$VERSION
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \;
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
cp -a \
- BUGS FAQ Fixes NewThings Ported README README.imake WishList Y2K \
- $PKG/usr/doc/tcsh-$VERSION
+ BUGS Copyright FAQ Fixes NewThings Ported README* WishList Y2K \
+ complete.tcsh \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
# Build the package:
cd $PKG
-makepkg -l y -c n $TMP/tcsh-$VERSION-$ARCH-$BUILD.txz
+makepkg -l y -c n $TMP/${PKGNAM}-$VERSION-$ARCH-$BUILD.txz
-# Clean up the extra stuff:
-if [ "$1" = "--cleanup" ]; then
- rm -rf $TMP/tcsh-${VERSION}
- rm -rf $PKG
-fi
diff --git a/source/a/tree/tree.SlackBuild b/source/a/tree/tree.SlackBuild
index 7085fc99e..52c7468cf 100755
--- a/source/a/tree/tree.SlackBuild
+++ b/source/a/tree/tree.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2007-2012 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2007-2015 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,13 +20,15 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=1.6.0
+VERSION=1.7.0
BUILD=${BUILD:-1}
+NUMJOBS=${NUMJOBS:--j6}
+
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 ) ;;
@@ -37,9 +39,22 @@ CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-tree
+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
+
rm -rf $PKG
mkdir -p $TMP $PKG
-
cd $TMP
rm -rf tree-$VERSION
tar xvf $CWD/tree-$VERSION.tar.?z* || exit 1
@@ -51,26 +66,30 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-make -j2 || exit 1
+sed -i "s,CFLAGS=-ggdb,CFLAGS=\$(XCFLAGS) -ggdb,g" Makefile
+make XCFLAGS="$SLKCFLAGS" $NUMJOBS || make || exit 1
+
mkdir -p $PKG/usr/bin
cat tree > $PKG/usr/bin/tree
chmod 755 $PKG/usr/bin/tree
-mkdir -p $PKG/usr/man/man1
-cat doc/tree.1 | gzip -9c > $PKG/usr/man/man1/tree.1.gz
-mkdir -p $PKG/usr/man/fr/man1
-cat doc/tree.1.fr | gzip -9c > $PKG/usr/man/fr/man1/tree.1.gz
+
+mkdir -p $PKG/usr/man/man1 $PKG/usr/man/fr/man1
+gzip -9c doc/tree.1 > $PKG/usr/man/man1/tree.1.gz
+gzip -9c doc/tree.1.fr > $PKG/usr/man/fr/man1/tree.1.gz
+
mkdir -p $PKG/usr/doc/tree-$VERSION
cp -a \
CHANGES LICENSE README* TODO \
$PKG/usr/doc/tree-$VERSION
+
( cd $PKG
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
)
+
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
-# Build the package:
cd $PKG
-makepkg -l y -c n $TMP/tree-$VERSION-$ARCH-$BUILD.txz
+/sbin/makepkg -l y -c n $TMP/tree-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/a/udev/config/rules.d/59-non-libata-devices.rules b/source/a/udev/config/rules.d/59-non-libata-devices.rules
deleted file mode 100644
index 4b1238a43..000000000
--- a/source/a/udev/config/rules.d/59-non-libata-devices.rules
+++ /dev/null
@@ -1,44 +0,0 @@
-# Support for the deprecated IDE devices has been removed from the
-# default set of rules shipped with udev, but some administrators
-# might want (or need) the old ata drivers and thus build a custom
-# kernel, so we'll carry these on our own for now...
-
-#############################################################################
-
-# Old 50-udev-default.rules
-
-# floppy
-KERNEL=="hd*", SUBSYSTEMS=="ide", ATTRS{media}=="floppy"
-
-# cdrom
-SUBSYSTEM=="block", KERNEL=="hd*", SUBSYSTEMS=="ide", ATTRS{media}=="cdrom", GROUP="cdrom"
-
-#############################################################################
-
-# Old 60-persistent-storage.rules
-
-# never access non-cdrom removable ide devices, the drivers are causing event loops on open()
-KERNEL=="hd*[!0-9]", ATTR{removable}=="1", SUBSYSTEMS=="ide", ATTRS{media}=="disk|floppy", GOTO="old_persistent_storage_end"
-KERNEL=="hd*[0-9]", ATTRS{removable}=="1", GOTO="old_persistent_storage_end"
-
-# by-id (hardware serial number)
-KERNEL=="hd*[!0-9]", IMPORT{program}="ata_id --export $tempnode"
-KERNEL=="hd*[!0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/ata-$env{ID_SERIAL}"
-KERNEL=="hd*[0-9]", ENV{ID_SERIAL}=="?*", SYMLINK+="disk/by-id/ata-$env{ID_SERIAL}-part%n"
-
-LABEL="old_persistent_storage_end"
-
-#############################################################################
-
-# Old ide stuff from our custom 65-permissions.rules
-
-# permissions for IDE floppy devices
-KERNEL=="hd*[!0-9]", SUBSYSTEMS=="ide", ATTRS{media}=="floppy", SYMLINK+="floppy floppy-%k"
-KERNEL=="hd*[0-9]", ATTRS{media}=="floppy", ATTRS{removable}=="1", SYMLINK+="floppy-%k"
-
-# put all removable devices in group "plugdev"
-KERNEL=="hd*[!0-9]", ATTR{removable}=="1", GROUP="plugdev"
-KERNEL=="hd*[0-9]", ATTRS{removable}=="1", GROUP="plugdev"
-
-#############################################################################
-
diff --git a/source/a/udev/config/udev.conf b/source/a/udev/config/udev.conf
deleted file mode 100644
index c8506e4b0..000000000
--- a/source/a/udev/config/udev.conf
+++ /dev/null
@@ -1,14 +0,0 @@
-# udev.conf
-# The main config file for udev
-#
-# This file can be used to override some of udev's default values for where it
-# looks for files, and where it places device nodes.
-
-# udev_root - where in the filesystem to place the device nodes
-udev_root="/dev/"
-
-# udev_log - The initial syslog(3) priority: "err", "info", "debug" or
-# its numerical equivalent. For runtime debugging, the daemons
-# internal state can be changed with: udevadm control log_priority=<value>
-udev_log="err"
-
diff --git a/source/a/udev/fix-42-usb-hid-pm.rules.diff b/source/a/udev/fix-42-usb-hid-pm.rules.diff
deleted file mode 100644
index 2a1d529f7..000000000
--- a/source/a/udev/fix-42-usb-hid-pm.rules.diff
+++ /dev/null
@@ -1,18 +0,0 @@
-diff -u -r --new-file udev-182.orig/rules/42-usb-hid-pm.rules udev-182/rules/42-usb-hid-pm.rules
---- udev-182.orig/rules/42-usb-hid-pm.rules 2012-03-12 16:40:40.569534100 -0500
-+++ udev-182/rules/42-usb-hid-pm.rules 2012-09-10 13:36:44.171054934 -0500
-@@ -43,7 +43,13 @@
- ACTION=="add", SUBSYSTEM=="usb", ATTRS{idVendor}=="04b3", ATTR{idProduct}=="4012", TEST=="power/control", ATTR{power/control}="auto"
-
- # Raritan Computer, Inc KVM.
--ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="14dd", ATTR{idProduct}="0002", TEST=="power/control", ATTR{power/control}="auto"
-+ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="14dd", ATTR{idProduct}=="0002", TEST=="power/control", ATTR{power/control}="auto"
-
- # USB HID devices that are internal to the machine should also be safe to autosuspend
-+
-+ACTION=="add", SUBSYSTEM=="usb", SUBSYSTEMS=="usb", ATTRS{removable}=="removable", GOTO="usb_hid_pm_end"
-+ACTION=="add", SUBSYSTEM=="usb", SUBSYSTEMS=="usb", ATTRS{removable}=="unknown", GOTO="usb_hid_pm_end"
-+
- ACTION=="add", SUBSYSTEM=="usb", ATTR{bInterfaceClass}=="03", ATTRS{removable}=="fixed", TEST=="../power/control", ATTR{../power/control}="auto"
-+
-+LABEL="usb_hid_pm_end"
diff --git a/source/a/udev/rule_generator.diff b/source/a/udev/rule_generator.diff
deleted file mode 100644
index ff2acf808..000000000
--- a/source/a/udev/rule_generator.diff
+++ /dev/null
@@ -1,129 +0,0 @@
---- ./src/rule_generator/write_cd_rules.orig 2012-01-28 18:15:46.958827013 -0600
-+++ ./src/rule_generator/write_cd_rules 2013-01-17 22:58:27.294859303 -0600
-@@ -3,7 +3,8 @@
- # This script is run if an optical drive lacks a rule for persistent naming.
- #
- # It adds symlinks for optical drives based on the device class determined
--# by cdrom_id and used ID_PATH to identify the device.
-+# by cdrom_id and uses ID_SERIAL or ID_MODEL and ID_REVISION to
-+# identify the device.
-
- # (C) 2006 Marco d'Itri <md@Linux.IT>
- #
-@@ -66,37 +67,16 @@
- exit 1
- fi
-
--if [ "$1" ]; then
-- METHOD="$1"
-+# ID_PATH is gone from the ata subsystem used in recent kernels, so
-+# always use the by-id method:
-+if [ "$ID_SERIAL" ]; then
-+ RULE="ENV{ID_SERIAL}==\"$ID_SERIAL\""
-+elif [ "$ID_MODEL" -a "$ID_REVISION" ]; then
-+ RULE="ENV{ID_MODEL}==\"$ID_MODEL\", ENV{ID_REVISION}==\"$ID_REVISION\""
- else
-- METHOD='by-path'
--fi
--
--case "$METHOD" in
-- by-path)
-- if [ -z "$ID_PATH" ]; then
-- echo "$DEVPATH not supported by path_id. by-id may work." >&2
-- exit 1
-- fi
-- RULE="ENV{ID_PATH}==\"$ID_PATH\""
-- ;;
--
-- by-id)
-- if [ "$ID_SERIAL" ]; then
-- RULE="ENV{ID_SERIAL}==\"$ID_SERIAL\""
-- elif [ "$ID_MODEL" -a "$ID_REVISION" ]; then
-- RULE="ENV{ID_MODEL}==\"$ID_MODEL\", ENV{ID_REVISION}==\"$ID_REVISION\""
-- else
-- echo "$DEVPATH not supported by ata_id. by-path may work." >&2
-- exit 1
-- fi
-- ;;
--
-- *)
-- echo "Invalid argument (must be either by-path or by-id)." >&2
-+ echo "$DEVPATH not supported by ata_id. Unable to generate persistent rules." >&2
- exit 1
-- ;;
--esac
-+fi
-
- # Prevent concurrent processes from modifying the file at the same time.
- lock_rules_file
-@@ -105,18 +85,62 @@
- choose_rules_file
-
- link_num=$(find_next_available 'cdrom[0-9]*')
-+[ "$link_num" = "" ] && link_num=0
-
- match="SUBSYSTEM==\"block\", ENV{ID_CDROM}==\"?*\", $RULE"
-
--comment="$ID_MODEL ($ID_PATH)"
--
-+comment="$ID_MODEL ($ID_SERIAL)"
- write_rule "$match" "cdrom$link_num" "$comment"
--[ "$ID_CDROM_CD_R" -o "$ID_CDROM_CD_RW" ] && \
-- write_rule "$match" "cdrw$link_num"
--[ "$ID_CDROM_DVD" ] && \
-- write_rule "$match" "dvd$link_num"
--[ "$ID_CDROM_DVD_R" -o "$ID_CDROM_DVD_RW" -o "$ID_CDROM_DVD_RAM" ] && \
-- write_rule "$match" "dvdrw$link_num"
-+ if [ "$link_num" = "0" ]; then
-+ write_rule "$match" "cdrom"
-+ fi
-+
-+ if [ "$ID_CDROM_CD_R" ]; then
-+ write_rule "$match" "cdr$link_num"
-+ if [ "$link_num" = "0" ]; then
-+ write_rule "$match" "cdr"
-+ fi
-+
-+ write_rule "$match" "cdwriter$link_num"
-+ if [ "$link_num" = "0" ]; then
-+ write_rule "$match" "cdwriter"
-+ fi
-+
-+ if [ "$ID_CDROM_CD_RW" ]; then
-+ write_rule "$match" "cdrw$link_num"
-+ if [ "$link_num" = "0" ]; then
-+ write_rule "$match" "cdrw"
-+ fi
-+ fi
-+
-+ if [ "$link_num" = "0" ]; then
-+ write_rule "$match" "writer"
-+ fi
-+ fi
-+
-+ if [ "$ID_CDROM_DVD" ]; then
-+ write_rule "$match" "dvd$link_num"
-+ if [ "$link_num" = "0" ]; then
-+ write_rule "$match" "dvd"
-+ fi
-+
-+ if [ "$ID_CDROM_DVD_R" -o "$ID_CDROM_DVD_RW" -o "$ID_CDROM_DVD_RAM" ]; then
-+ write_rule "$match" "dvdr$link_num"
-+ if [ "$link_num" = "0" ]; then
-+ write_rule "$match" "dvdr"
-+ fi
-+
-+ write_rule "$match" "dvdrw$link_num"
-+ if [ "$link_num" = "0" ]; then
-+ write_rule "$match" "dvdrw"
-+ fi
-+
-+ write_rule "$match" "dvdwriter$link_num"
-+ if [ "$link_num" = "0" ]; then
-+ write_rule "$match" "dvdwriter"
-+ fi
-+ fi
-+ fi
- echo >> $RULES_FILE
-
- unlock_rules_file
diff --git a/source/a/udev/slack-desc b/source/a/udev/slack-desc
deleted file mode 100644
index c411756c8..000000000
--- a/source/a/udev/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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-------------------------------------------------------|
-udev: udev (dynamic device directory system)
-udev:
-udev: udev provides a dynamic device directory containing only the files
-udev: for the devices which are actually present. It creates or removes
-udev: device node files usually located in the /dev directory.
-udev:
-udev: udev requires a 2.6 or newer kernel.
-udev:
-udev: Kay Sievers is the udev maintainer.
-udev:
-udev:
diff --git a/source/a/udev/udev-ata_id-fixup-all-8-not-only-6-bytes-of-the-fw_rev.patch b/source/a/udev/udev-ata_id-fixup-all-8-not-only-6-bytes-of-the-fw_rev.patch
deleted file mode 100644
index bfa0c76ae..000000000
--- a/source/a/udev/udev-ata_id-fixup-all-8-not-only-6-bytes-of-the-fw_rev.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-Adapted from the following patch (path and actual line number changes):
-
-From daa9cf546ce7265645ced9592dd54c6b2fc04302 Mon Sep 17 00:00:00 2001
-From: Kay Sievers <kay@vrfy.org>
-Date: Thu, 5 Jul 2012 16:53:08 +0200
-Subject: [PATCH] udev: ata_id - fixup all 8 not only 6 bytes of the fw_rev
- string
-
-The last two digits are in the wrong order:
- $ hdparm -I /dev/sda | grep Revision
- 4PC10362
-
- $ /lib/udev/ata_id -x /dev/sda | grep REVISION
- 4PC10326
-
-diff -Nur udev-182.orig/src/ata_id/ata_id.c udev-182/src/ata_id/ata_id.c
---- udev-182.orig/src/ata_id/ata_id.c 2012-03-13 19:00:51.220734316 -0500
-+++ udev-182/src/ata_id/ata_id.c 2012-07-14 19:48:34.224478831 -0500
-@@ -511,7 +511,7 @@
- * use and copy it into the hd_driveid struct for convenience
- */
- disk_identify_fixup_string (identify, 10, 20); /* serial */
-- disk_identify_fixup_string (identify, 23, 6); /* fwrev */
-+ disk_identify_fixup_string (identify, 23, 8); /* fwrev */
- disk_identify_fixup_string (identify, 27, 40); /* model */
- disk_identify_fixup_uint16 (identify, 0); /* configuration */
- disk_identify_fixup_uint16 (identify, 75); /* queue depth */
diff --git a/source/a/udisks/udisks.SlackBuild b/source/a/udisks/udisks.SlackBuild
index 86a90bdf4..dc9b4c780 100755
--- a/source/a/udisks/udisks.SlackBuild
+++ b/source/a/udisks/udisks.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for udisks
-# Copyright 2010, 2011 Robby Workman, Northport, Alabama, USA
+# Copyright 2010, 2011, 2014, 2015 Robby Workman, Northport, Alabama, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -27,7 +27,7 @@
PKGNAM=udisks
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-3}
NUMJOBS=${NUMJOBS:--j7}
@@ -35,7 +35,7 @@ NUMJOBS=${NUMJOBS:--j7}
MARCH=$( uname -m )
if [ -z "$ARCH" ]; then
case "$MARCH" in
- i?86) export ARCH=i486 ;;
+ i?86) export ARCH=i586 ;;
armv7hl) export ARCH=$MARCH ;;
arm*) export ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
@@ -43,8 +43,8 @@ if [ -z "$ARCH" ]; then
esac
fi
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
@@ -82,6 +82,8 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+zcat $CWD/udisks.no.pci-db.diff.gz | patch -p1 --verbose || exit 1
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
@@ -99,10 +101,12 @@ make install DESTDIR=$PKG || exit 1
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
-# Move the bash completion file to the right place
-mkdir -p $PKG/etc/bash_completion.d
+# Move the bash completion file to the system directory
+# Put bash-completion file in system directory:
+mkdir -p $PKG/usr/share/bash-completion/completions/
mv $PKG/etc/profile.d/udisks-bash-completion.sh \
- $PKG/etc/bash_completion.d/udisks
+ $PKG/usr/share/bash-completion/completions/udisks
+rmdir --parents $PKG/etc/profile.d
find $PKG/usr/man -type f -exec gzip -9 {} \;
for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
diff --git a/source/a/udisks/udisks.no.pci-db.diff b/source/a/udisks/udisks.no.pci-db.diff
new file mode 100644
index 000000000..ebb773c68
--- /dev/null
+++ b/source/a/udisks/udisks.no.pci-db.diff
@@ -0,0 +1,32 @@
+From c73b5ab54378ec6d7df9948c46ce87f98587af9a Mon Sep 17 00:00:00 2001
+From: Tom Gundersen <teg@jklm.no>
+Date: Wed, 21 Nov 2012 02:36:47 +0100
+Subject: [PATCH] udev: remove redundant call to deprecated pci-db
+
+The binary is no longer shipped with systemd/udev. The functionality
+is taken over by a builtin, which is ran for all devices, rendering
+this rule superfluous.
+
+Cc: Jan de Groot <jgc@archlinux.org>
+Signed-off-by: Tom Gundersen <teg@jklm.no>
+---
+ data/80-udisks.rules | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/data/80-udisks.rules b/data/80-udisks.rules
+index d1c8c5d..4bf2b37 100644
+--- a/data/80-udisks.rules
++++ b/data/80-udisks.rules
+@@ -1,10 +1,6 @@
+ # Do not edit this file, it will be overwritten on updates
+ #
+
+-# import names for PCI storage controllers
+-#
+-SUBSYSTEM=="pci", ACTION=="add|change", ENV{ID_MODEL_FROM_DATABASE}=="", ATTR{class}=="0x01*", IMPORT{program}="pci-db %p"
+-
+ # Set eSATA port type for known eSATA CardBus adapters - first we want to ensure
+ # the device is on a cardbus controller (upper PCI device) - then we check
+ # vid/pid (lower PCI device)
+--
+1.8.0.1
diff --git a/source/a/udisks2/udisks2.SlackBuild b/source/a/udisks2/udisks2.SlackBuild
index 4316488e9..ac16da2e7 100755
--- a/source/a/udisks2/udisks2.SlackBuild
+++ b/source/a/udisks2/udisks2.SlackBuild
@@ -27,7 +27,7 @@
PKGNAM=udisks2
SRCNAM=udisks
VERSION=${VERSION:-$(echo $SRCNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:--j7}
@@ -35,7 +35,7 @@ NUMJOBS=${NUMJOBS:--j7}
MARCH=$( uname -m )
if [ -z "$ARCH" ]; then
case "$MARCH" in
- i?86) export ARCH=i486 ;;
+ i?86) export ARCH=i586 ;;
armv7hl) export ARCH=$MARCH ;;
arm*) export ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
@@ -43,8 +43,8 @@ if [ -z "$ARCH" ]; then
esac
fi
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
diff --git a/source/a/upower/patches/Fix-HID-rules-header-as-per-discussions.patch b/source/a/upower/patches/Fix-HID-rules-header-as-per-discussions.patch
new file mode 100644
index 000000000..d61003944
--- /dev/null
+++ b/source/a/upower/patches/Fix-HID-rules-header-as-per-discussions.patch
@@ -0,0 +1,36 @@
+From ae9f8521c6f900255df1b6c7bc9f6adfd09abda5 Mon Sep 17 00:00:00 2001
+From: Arnaud Quette <arnaud.quette@free.fr>
+Date: Mon, 22 Jun 2015 15:11:15 +0200
+Subject: [PATCH 1/2] Fix HID rules header, as per discussions
+
+Signed-off-by: Richard Hughes <richard@hughsie.com>
+---
+ rules/95-upower-hid.rules | 10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/rules/95-upower-hid.rules b/rules/95-upower-hid.rules
+index dcf4380..767e9bc 100644
+--- a/rules/95-upower-hid.rules
++++ b/rules/95-upower-hid.rules
+@@ -1,10 +1,16 @@
+ ##############################################################################################################
+ # Uninterruptible Power Supplies with USB HID interfaces
+ #
+-# to keep up to date, monitor: http://svn.debian.org/wsvn/nut/trunk/scripts/upower/95-upower-hid.rules
++# This file was automatically generated by NUT:
++# https://github.com/networkupstools/nut/
++#
++# To keep up to date, monitor upstream NUT
++# https://github.com/networkupstools/nut/commits/master/scripts/upower/95-upower-hid.rules
++# or checkout the NUT repository and call 'tools/nut-usbinfo.pl'
+
+-# only support USB, else ignore
++# newer hiddev are part of the usbmisc class
+ SUBSYSTEM=="usbmisc", GOTO="up_hid_chkdev"
++# only support USB, else ignore
+ SUBSYSTEM!="usb", GOTO="up_hid_end"
+
+ # if usbraw device, ignore
+--
+2.6.4
+
diff --git a/source/a/upower/patches/Update-UPower-HID-rules-supported-devices-list.patch b/source/a/upower/patches/Update-UPower-HID-rules-supported-devices-list.patch
new file mode 100644
index 000000000..8ef4498cb
--- /dev/null
+++ b/source/a/upower/patches/Update-UPower-HID-rules-supported-devices-list.patch
@@ -0,0 +1,114 @@
+From fc27cbd5cb098ccf6c70110fe1b894987328fc0d Mon Sep 17 00:00:00 2001
+From: Arnaud Quette <arnaud.quette@free.fr>
+Date: Mon, 8 Jun 2015 10:08:24 +0200
+Subject: [PATCH 2/2] Update UPower HID rules - supported devices list
+
+As per update on the NUT - Network UPS Tools project, this first patch
+adds some more supported devices to the rules file
+
+Signed-off-by: Richard Hughes <richard@hughsie.com>
+---
+ rules/95-upower-hid.rules | 31 +++++++++++++++++++++++++++++--
+ 1 file changed, 29 insertions(+), 2 deletions(-)
+
+diff --git a/rules/95-upower-hid.rules b/rules/95-upower-hid.rules
+index 767e9bc..e064ef7 100644
+--- a/rules/95-upower-hid.rules
++++ b/rules/95-upower-hid.rules
+@@ -23,21 +23,31 @@ ENV{DEVTYPE}=="usb_interface", GOTO="up_hid_end"
+ ATTRS{idVendor}=="03f0", ENV{UPOWER_VENDOR}="Hewlett Packard"
+ ATTRS{idVendor}=="0463", ENV{UPOWER_VENDOR}="Eaton"
+ ATTRS{idVendor}=="047c", ENV{UPOWER_VENDOR}="Dell"
++ATTRS{idVendor}=="04d8", ENV{UPOWER_VENDOR}="Minibox"
+ ATTRS{idVendor}=="050d", ENV{UPOWER_VENDOR}="Belkin"
+ ATTRS{idVendor}=="051d", ENV{UPOWER_VENDOR}="APC"
+-ATTRS{idVendor}=="06da", ENV{UPOWER_VENDOR}="Liebert"
++ATTRS{idVendor}=="0592", ENV{UPOWER_VENDOR}="Powerware"
++ATTRS{idVendor}=="06da", ENV{UPOWER_VENDOR}="Phoenixtec Power Co., Ltd"
++ATTRS{idVendor}=="075d", ENV{UPOWER_VENDOR}="iDowell"
+ ATTRS{idVendor}=="0764", ENV{UPOWER_VENDOR}="Cyber Power Systems"
+ ATTRS{idVendor}=="09ae", ENV{UPOWER_VENDOR}="TrippLite"
+ ATTRS{idVendor}=="0d9f", ENV{UPOWER_VENDOR}="PowerCOM"
+ ATTRS{idVendor}=="10af", ENV{UPOWER_VENDOR}="Liebert"
+
+ # Hewlett Packard
++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="0001", ENV{UPOWER_BATTERY_TYPE}="ups"
+ ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1f06", ENV{UPOWER_BATTERY_TYPE}="ups"
+ ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1f08", ENV{UPOWER_BATTERY_TYPE}="ups"
+ ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1f09", ENV{UPOWER_BATTERY_TYPE}="ups"
+ ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1f0a", ENV{UPOWER_BATTERY_TYPE}="ups"
+ ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1fe0", ENV{UPOWER_BATTERY_TYPE}="ups"
+ ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1fe1", ENV{UPOWER_BATTERY_TYPE}="ups"
++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1fe2", ENV{UPOWER_BATTERY_TYPE}="ups"
++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1fe3", ENV{UPOWER_BATTERY_TYPE}="ups"
++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1fe5", ENV{UPOWER_BATTERY_TYPE}="ups"
++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1fe6", ENV{UPOWER_BATTERY_TYPE}="ups"
++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1fe7", ENV{UPOWER_BATTERY_TYPE}="ups"
++ATTRS{idVendor}=="03f0", ATTRS{idProduct}=="1fe8", ENV{UPOWER_BATTERY_TYPE}="ups"
+
+ # Eaton
+ ATTRS{idVendor}=="0463", ATTRS{idProduct}=="0001", ENV{UPOWER_BATTERY_TYPE}="ups"
+@@ -46,6 +56,10 @@ ATTRS{idVendor}=="0463", ATTRS{idProduct}=="ffff", ENV{UPOWER_BATTERY_TYPE}="ups
+ # Dell
+ ATTRS{idVendor}=="047c", ATTRS{idProduct}=="ffff", ENV{UPOWER_BATTERY_TYPE}="ups"
+
++# Minibox
++ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="d004", ENV{UPOWER_BATTERY_TYPE}="ups"
++ATTRS{idVendor}=="04d8", ATTRS{idProduct}=="d005", ENV{UPOWER_BATTERY_TYPE}="ups"
++
+ # Belkin
+ ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0375", ENV{UPOWER_BATTERY_TYPE}="ups"
+ ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0551", ENV{UPOWER_BATTERY_TYPE}="ups"
+@@ -55,15 +69,23 @@ ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0900", ENV{UPOWER_BATTERY_TYPE}="ups
+ ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0910", ENV{UPOWER_BATTERY_TYPE}="ups"
+ ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0912", ENV{UPOWER_BATTERY_TYPE}="ups"
+ ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0980", ENV{UPOWER_BATTERY_TYPE}="ups"
++ATTRS{idVendor}=="050d", ATTRS{idProduct}=="0f51", ENV{UPOWER_BATTERY_TYPE}="ups"
+ ATTRS{idVendor}=="050d", ATTRS{idProduct}=="1100", ENV{UPOWER_BATTERY_TYPE}="ups"
+
+ # APC
++ATTRS{idVendor}=="051d", ATTRS{idProduct}=="0000", ENV{UPOWER_BATTERY_TYPE}="ups"
+ ATTRS{idVendor}=="051d", ATTRS{idProduct}=="0002", ENV{UPOWER_BATTERY_TYPE}="ups"
+ ATTRS{idVendor}=="051d", ATTRS{idProduct}=="0003", ENV{UPOWER_BATTERY_TYPE}="ups"
+
+-# Liebert
++# Powerware
++ATTRS{idVendor}=="0592", ATTRS{idProduct}=="0004", ENV{UPOWER_BATTERY_TYPE}="ups"
++
++# Phoenixtec Power Co., Ltd
+ ATTRS{idVendor}=="06da", ATTRS{idProduct}=="ffff", ENV{UPOWER_BATTERY_TYPE}="ups"
+
++# iDowell
++ATTRS{idVendor}=="075d", ATTRS{idProduct}=="0300", ENV{UPOWER_BATTERY_TYPE}="ups"
++
+ # Cyber Power Systems
+ ATTRS{idVendor}=="0764", ATTRS{idProduct}=="0005", ENV{UPOWER_BATTERY_TYPE}="ups"
+ ATTRS{idVendor}=="0764", ATTRS{idProduct}=="0501", ENV{UPOWER_BATTERY_TYPE}="ups"
+@@ -92,6 +114,7 @@ ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="3012", ENV{UPOWER_BATTERY_TYPE}="ups
+ ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="3013", ENV{UPOWER_BATTERY_TYPE}="ups"
+ ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="3014", ENV{UPOWER_BATTERY_TYPE}="ups"
+ ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="3015", ENV{UPOWER_BATTERY_TYPE}="ups"
++ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="3016", ENV{UPOWER_BATTERY_TYPE}="ups"
+ ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="4001", ENV{UPOWER_BATTERY_TYPE}="ups"
+ ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="4002", ENV{UPOWER_BATTERY_TYPE}="ups"
+ ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="4003", ENV{UPOWER_BATTERY_TYPE}="ups"
+@@ -102,6 +125,8 @@ ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="4007", ENV{UPOWER_BATTERY_TYPE}="ups
+ ATTRS{idVendor}=="09ae", ATTRS{idProduct}=="4008", ENV{UPOWER_BATTERY_TYPE}="ups"
+
+ # PowerCOM
++ATTRS{idVendor}=="0d9f", ATTRS{idProduct}=="0001", ENV{UPOWER_BATTERY_TYPE}="ups"
++ATTRS{idVendor}=="0d9f", ATTRS{idProduct}=="0004", ENV{UPOWER_BATTERY_TYPE}="ups"
+ ATTRS{idVendor}=="0d9f", ATTRS{idProduct}=="00a2", ENV{UPOWER_BATTERY_TYPE}="ups"
+ ATTRS{idVendor}=="0d9f", ATTRS{idProduct}=="00a3", ENV{UPOWER_BATTERY_TYPE}="ups"
+ ATTRS{idVendor}=="0d9f", ATTRS{idProduct}=="00a4", ENV{UPOWER_BATTERY_TYPE}="ups"
+@@ -110,5 +135,7 @@ ATTRS{idVendor}=="0d9f", ATTRS{idProduct}=="00a6", ENV{UPOWER_BATTERY_TYPE}="ups
+
+ # Liebert
+ ATTRS{idVendor}=="10af", ATTRS{idProduct}=="0001", ENV{UPOWER_BATTERY_TYPE}="ups"
++ATTRS{idVendor}=="10af", ATTRS{idProduct}=="0004", ENV{UPOWER_BATTERY_TYPE}="ups"
++ATTRS{idVendor}=="10af", ATTRS{idProduct}=="0008", ENV{UPOWER_BATTERY_TYPE}="ups"
+
+ LABEL="up_hid_end"
+--
+2.6.4
+
diff --git a/source/a/upower/patches/linux-Clamp-percentage-for-overfull-batteries.patch b/source/a/upower/patches/linux-Clamp-percentage-for-overfull-batteries.patch
new file mode 100644
index 000000000..bb97ca782
--- /dev/null
+++ b/source/a/upower/patches/linux-Clamp-percentage-for-overfull-batteries.patch
@@ -0,0 +1,77 @@
+From b8fe9902f3c6c50ca6a23e24fcea99582beebc65 Mon Sep 17 00:00:00 2001
+From: Martin Pitt <martinpitt@gnome.org>
+Date: Tue, 22 Oct 2013 10:02:51 +0200
+Subject: [PATCH 2/3] linux: Clamp percentage for overfull batteries
+
+Some batteries report energy > energy_full and a percentage ("capacity"
+attribute) > 100%. Clamp these within 0 and 100% for both plausibility as well
+as to avoid setting an out-of-range property which would then become 0%.
+
+https://launchpad.net/bugs/1240673
+---
+ src/linux/integration-test | 33 +++++++++++++++++++++++++++++++++
+ src/linux/up-device-supply.c | 4 ++++
+ 2 files changed, 37 insertions(+)
+
+diff --git a/src/linux/integration-test b/src/linux/integration-test
+index 8489bf3..4be1922 100755
+--- a/src/linux/integration-test
++++ b/src/linux/integration-test
+@@ -442,6 +442,39 @@ class Tests(unittest.TestCase):
+ self.assertEqual(self.get_dbus_property('OnLowBattery'), False)
+ self.stop_daemon()
+
++ def test_battery_overfull(self):
++ '''battery which reports a > 100% percentage for a full battery'''
++
++ self.testbed.add_device('power_supply', 'BAT0', None,
++ ['type', 'Battery',
++ 'present', '1',
++ 'status', 'Full',
++ 'current_now', '1000',
++ 'charge_now', '11000000',
++ 'charge_full', '10000000',
++ 'charge_full_design', '11000000',
++ 'capacity', '110',
++ 'voltage_now', '12000000'], [])
++
++ self.start_daemon()
++ devs = self.proxy.EnumerateDevices()
++ self.assertEqual(len(devs), 1)
++ bat0_up = devs[0]
++
++ # should clamp percentage
++ self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Percentage'), 100.0)
++ self.assertEqual(self.get_dbus_dev_property(bat0_up, 'IsPresent'), True)
++ self.assertEqual(self.get_dbus_dev_property(bat0_up, 'State'),
++ UP_DEVICE_STATE_FULLY_CHARGED)
++ self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Energy'), 132.0)
++ # should adjust EnergyFull to reality, not what the battery claims
++ self.assertEqual(self.get_dbus_dev_property(bat0_up, 'EnergyFull'), 132.0)
++ self.assertEqual(self.get_dbus_dev_property(bat0_up, 'EnergyFullDesign'), 132.0)
++ self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Voltage'), 12.0)
++ self.assertEqual(self.get_dbus_dev_property(bat0_up, 'PowerSupply'), True)
++ self.assertEqual(self.get_dbus_dev_property(bat0_up, 'Type'), 2)
++ self.stop_daemon()
++
+ def test_battery_temperature(self):
+ '''battery which reports temperature'''
+
+diff --git a/src/linux/up-device-supply.c b/src/linux/up-device-supply.c
+index 8020277..b953d65 100644
+--- a/src/linux/up-device-supply.c
++++ b/src/linux/up-device-supply.c
+@@ -708,6 +708,10 @@ up_device_supply_refresh_battery (UpDeviceSupply *supply)
+ /* get a precise percentage */
+ if (sysfs_file_exists (native_path, "capacity")) {
+ percentage = sysfs_get_double (native_path, "capacity");
++ if (percentage < 0.0f)
++ percentage = 0.0f;
++ if (percentage > 100.0f)
++ percentage = 100.0f;
+ /* for devices which provide capacity, but not {energy,charge}_now */
+ if (energy < 0.1f && energy_full > 0.0f)
+ energy = energy_full * percentage / 100;
+--
+2.6.4
+
diff --git a/source/a/upower/patches/linux-Detect-docked-docking-stations-correctly.patch b/source/a/upower/patches/linux-Detect-docked-docking-stations-correctly.patch
new file mode 100644
index 000000000..bed83d8e6
--- /dev/null
+++ b/source/a/upower/patches/linux-Detect-docked-docking-stations-correctly.patch
@@ -0,0 +1,84 @@
+From a6e830cd652a086161f04b049c84283e0573881b Mon Sep 17 00:00:00 2001
+From: Bastien Nocera <hadess@hadess.net>
+Date: Wed, 15 Feb 2012 17:50:00 +0000
+Subject: [PATCH 3/3] linux: Detect docked docking stations correctly
+
+Instead of counting the number of graphics outputs, check
+all the devices the platform/dock_station subsystem that
+export a "dock_station" type.
+
+Based on patch by Armando Di Cianno <armando@goodship.net>
+
+https://bugs.freedesktop.org/show_bug.cgi?id=36818
+---
+ src/linux/up-dock.c | 38 +++++++++++++++++++-------------------
+ 1 file changed, 19 insertions(+), 19 deletions(-)
+
+diff --git a/src/linux/up-dock.c b/src/linux/up-dock.c
+index f9a7c67..4fe904e 100644
+--- a/src/linux/up-dock.c
++++ b/src/linux/up-dock.c
+@@ -46,22 +46,23 @@ G_DEFINE_TYPE (UpDock, up_dock, G_TYPE_OBJECT)
+ * up_dock_device_check:
+ **/
+ static gboolean
+-up_dock_device_check (GUdevDevice *d)
++up_dock_device_check (GUdevDevice *device)
+ {
+- const gchar *status;
+- gboolean ret = FALSE;
+-
+- /* Get the boolean state from the kernel -- note that ideally
+- * the property value would be "1" or "true" but now it's
+- * set in stone as ABI. Urgh. */
+- status = g_udev_device_get_sysfs_attr (d, "status");
+- if (status == NULL)
+- goto out;
+- ret = (g_strcmp0 (status, "connected") == 0);
+- g_debug ("graphics device %s is %s",
+- g_udev_device_get_sysfs_path (d),
+- ret ? "on" : "off");
+-out:
++ gint docked;
++ gboolean ret;
++
++ /* Is it a docking station? */
++ if (g_strcmp0 (g_udev_device_get_sysfs_attr (device, "dock_type"), "dock_station") != 0)
++ return FALSE;
++
++ /* Get the boolean state from the kernel */
++ if (g_udev_device_get_sysfs_attr (device, "docked") == NULL)
++ return FALSE;
++
++ docked = g_udev_device_get_sysfs_attr_as_int (device, "docked");
++ ret = (docked == 1);
++ g_debug ("dock_station %s is %s", g_udev_device_get_sysfs_path (device), ret ? "docked" : "undocked");
++
+ return ret;
+ }
+
+@@ -76,10 +77,9 @@ up_dock_refresh (UpDock *dock)
+ GUdevDevice *native;
+ guint count = 0;
+
+- /* the metric we're using here is that a machine is docked when
+- * there is more than one active output */
++ /* check to see if there are any docking stations, and if they are docked */
+ devices = g_udev_client_query_by_subsystem (dock->priv->gudev_client,
+- "drm");
++ "platform/dock_station");
+ for (l = devices; l != NULL; l = l->next) {
+ native = l->data;
+ count += up_dock_device_check (native);
+@@ -163,7 +163,7 @@ up_dock_uevent_signal_handler_cb (GUdevClient *client, const gchar *action,
+ static void
+ up_dock_init (UpDock *dock)
+ {
+- const gchar *subsystems[] = { "drm", NULL};
++ const gchar *subsystems[] = { "platform/dock_station", NULL};
+ dock->priv = UP_DOCK_GET_PRIVATE (dock);
+ dock->priv->gudev_client = g_udev_client_new (subsystems);
+ g_signal_connect (dock->priv->gudev_client, "uevent",
+--
+2.6.4
+
diff --git a/source/a/upower/patches/linux-Properly-detect-bluetooth-mice-and-keyboards-t.patch b/source/a/upower/patches/linux-Properly-detect-bluetooth-mice-and-keyboards-t.patch
new file mode 100644
index 000000000..55de33b7d
--- /dev/null
+++ b/source/a/upower/patches/linux-Properly-detect-bluetooth-mice-and-keyboards-t.patch
@@ -0,0 +1,141 @@
+From 6c706ff03365e462e1b076155428decbed0f55c6 Mon Sep 17 00:00:00 2001
+From: Marc Deslauriers <marc.deslauriers@ubuntu.com>
+Date: Mon, 4 May 2015 19:31:31 -0400
+Subject: [PATCH] linux: Properly detect bluetooth mice and keyboards that are
+ HID devices
+
+https://bugs.freedesktop.org/show_bug.cgi?id=90222
+---
+ src/linux/integration-test | 41 +++++++++++++++++++++++++++++++++++++
+ src/linux/up-device-supply.c | 48 ++++++++++++++++++++++++++++----------------
+ 2 files changed, 72 insertions(+), 17 deletions(-)
+
+diff --git a/src/linux/integration-test b/src/linux/integration-test
+index ad7152a..b83f80d 100755
+--- a/src/linux/integration-test
++++ b/src/linux/integration-test
+@@ -761,6 +761,47 @@ class Tests(unittest.TestCase):
+ self.assertEqual(self.get_dbus_dev_property(mb1_up, 'Percentage'), 30)
+ self.assertEqual(self.get_dbus_dev_property(mb1_up, 'PowerSupply'), False)
+
++ def test_bluetooth_hid_mouse(self):
++ '''bluetooth HID mouse battery'''
++
++ self.testbed.add_device('hid',
++ 'usb1/bluetooth/hci0/hci0:01',
++ None,
++ [], [])
++
++ self.testbed.add_device(
++ 'input',
++ 'usb1/bluetooth/hci0/hci0:01/input/input2/mouse3',
++ None,
++ [], ['DEVNAME', 'input/mouse3', 'ID_INPUT_MOUSE', '1'])
++
++ self.testbed.add_device(
++ 'power_supply',
++ 'usb1/bluetooth/hci0/hci0:01/1/power_supply/hid-00:11:22:33:44:55-battery',
++ None,
++ ['type', 'Battery',
++ 'scope', 'Device',
++ 'present', '1',
++ 'online', '1',
++ 'status', 'Discharging',
++ 'capacity', '30',
++ 'model_name', 'Fancy BT mouse'],
++ [])
++
++ self.start_daemon()
++ devs = self.proxy.EnumerateDevices()
++ self.assertEqual(len(devs), 1)
++ mousebat0_up = devs[0]
++
++ self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'Model'), 'Fancy BT mouse')
++ self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'Percentage'), 30)
++ self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'PowerSupply'), False)
++ # 5 == mouse
++ self.assertEqual(self.get_dbus_dev_property(mousebat0_up, 'Type'), 5)
++ self.assertEqual(self.get_dbus_property('OnBattery'), False)
++ self.assertEqual(self.get_dbus_display_property('WarningLevel'), UP_DEVICE_LEVEL_NONE)
++ self.stop_daemon()
++
+ def test_bluetooth_keyboard(self):
+ '''bluetooth keyboard battery'''
+
+diff --git a/src/linux/up-device-supply.c b/src/linux/up-device-supply.c
+index 1f86382..b96080b 100644
+--- a/src/linux/up-device-supply.c
++++ b/src/linux/up-device-supply.c
+@@ -932,9 +932,12 @@ up_device_supply_coldplug (UpDevice *device)
+ const gchar *scope;
+ gchar *device_type = NULL;
+ gchar *input_path = NULL;
++ gchar *subdir = NULL;
+ GDir *dir = NULL;
+ GError *error = NULL;
+ UpDeviceKind type = UP_DEVICE_KIND_UNKNOWN;
++ guint i;
++ const char *class[] = { "hid", "bluetooth" };
+
+ up_device_supply_reset_values (supply);
+
+@@ -970,28 +973,39 @@ up_device_supply_coldplug (UpDevice *device)
+ if (g_ascii_strcasecmp (device_type, "mains") == 0) {
+ type = UP_DEVICE_KIND_LINE_POWER;
+ } else if (g_ascii_strcasecmp (device_type, "battery") == 0) {
++ for (i = 0; i < G_N_ELEMENTS(class) && type == UP_DEVICE_KIND_UNKNOWN; i++) {
++ /* Detect if the battery comes from bluetooth keyboard or mouse. */
++ bluetooth = g_udev_device_get_parent_with_subsystem (native, class[i], NULL);
++ if (bluetooth != NULL) {
++ device_path = g_udev_device_get_sysfs_path (bluetooth);
++
++ /* There may be an extra subdirectory here */
++ subdir = g_build_filename (device_path, "input", NULL);
++ if (!g_file_test (subdir, G_FILE_TEST_IS_DIR)) {
++ g_free(subdir);
++ subdir = g_strdup (device_path);
++ }
+
+- /* Detect if the battery comes from bluetooth keyboard or mouse. */
+- bluetooth = g_udev_device_get_parent_with_subsystem (native, "bluetooth", NULL);
+- if (bluetooth != NULL) {
+- device_path = g_udev_device_get_sysfs_path (bluetooth);
+- if ((dir = g_dir_open (device_path, 0, &error))) {
+- while ((file = g_dir_read_name (dir))) {
+- /* Check if it is an input device. */
+- if (g_str_has_prefix (file, "input")) {
+- input_path = g_build_filename (device_path, file, NULL);
+- break;
++ if ((dir = g_dir_open (subdir, 0, &error))) {
++ while ((file = g_dir_read_name (dir))) {
++ /* Check if it is an input device. */
++ if (g_str_has_prefix (file, "input")) {
++ input_path = g_build_filename (subdir, file, NULL);
++ break;
++ }
+ }
++ g_dir_close (dir);
++ } else {
++ g_warning ("Can not open folder %s: %s", device_path, error->message);
++ g_error_free (error);
+ }
+- g_dir_close (dir);
+- } else {
+- g_warning ("Can not open folder %s: %s", device_path, error->message);
+- g_error_free (error);
++ g_free (subdir);
++ g_object_unref (bluetooth);
+ }
+- g_object_unref (bluetooth);
+- }
+
+- if (input_path != NULL) {
++ if (input_path == NULL)
++ continue;
++
+ if ((dir = g_dir_open (input_path, 0, &error))) {
+ while ((file = g_dir_read_name (dir))) {
+ /* Check if it is a mouse device. */
+--
+2.6.3
+
diff --git a/source/a/upower/patches/rules-Add-support-for-Logitech-G700s-G700-Gaming-Mou.patch b/source/a/upower/patches/rules-Add-support-for-Logitech-G700s-G700-Gaming-Mou.patch
new file mode 100644
index 000000000..1826c416d
--- /dev/null
+++ b/source/a/upower/patches/rules-Add-support-for-Logitech-G700s-G700-Gaming-Mou.patch
@@ -0,0 +1,23 @@
+From 305f62adf052aa972523d083ca44d3050f659ec9 Mon Sep 17 00:00:00 2001
+From: muzena <trebelnik2@gmail.com>
+Date: Wed, 8 Jul 2015 17:11:25 +0200
+Subject: [PATCH 4/4] rules: Add support for Logitech G700s/G700 Gaming Mouse
+
+https://bugs.freedesktop.org/show_bug.cgi?id=91270
+---
+ rules/95-upower-csr.rules | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/rules/95-upower-csr.rules b/rules/95-upower-csr.rules
+index 39539ca..3b83665 100644
+--- a/rules/95-upower-csr.rules
++++ b/rules/95-upower-csr.rules
+@@ -29,4 +29,5 @@ ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c532", DRIVER=="logitech-djdevice",
+ ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c52b", DRIVER=="logitech-hidpp-device", ENV{UPOWER_BATTERY_TYPE}="unifying"
+ ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c532", DRIVER=="logitech-hidpp-device", ENV{UPOWER_BATTERY_TYPE}="unifying"
+ ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c52f", ENV{UPOWER_BATTERY_TYPE}="lg-wireless"
++ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c531", ENV{UPOWER_BATTERY_TYPE}="lg-wireless"
+ LABEL="up_unifying_end"
+--
+2.6.4
+
diff --git a/source/a/upower/patches/rules-support-Logitech-Unifying-in-Linux-3.19.patch b/source/a/upower/patches/rules-support-Logitech-Unifying-in-Linux-3.19.patch
new file mode 100644
index 000000000..adcba2389
--- /dev/null
+++ b/source/a/upower/patches/rules-support-Logitech-Unifying-in-Linux-3.19.patch
@@ -0,0 +1,30 @@
+From f8104a112eb967cd4c2aaf57b5a59aafe7c4738f Mon Sep 17 00:00:00 2001
+From: Peter Wu <peter@lekensteyn.nl>
+Date: Wed, 21 Jan 2015 15:56:23 +0100
+Subject: [PATCH] rules: support Logitech Unifying in Linux 3.19
+
+Linux 3.19 changed the way in which devices get registered by
+introducing a hid-logitech-hidpp module. The driver name therefore needs
+to be adjusted.
+
+Signed-off-by: Peter Wu <peter@lekensteyn.nl>
+---
+ rules/95-upower-csr.rules | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/rules/95-upower-csr.rules b/rules/95-upower-csr.rules
+index b476660..39539ca 100644
+--- a/rules/95-upower-csr.rules
++++ b/rules/95-upower-csr.rules
+@@ -25,5 +25,8 @@ SUBSYSTEM!="hid", GOTO="up_unifying_end"
+ ATTRS{idVendor}=="046d", ENV{UPOWER_VENDOR}="Logitech, Inc."
+ ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c52b", DRIVER=="logitech-djdevice", ENV{UPOWER_BATTERY_TYPE}="unifying"
+ ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c532", DRIVER=="logitech-djdevice", ENV{UPOWER_BATTERY_TYPE}="unifying"
++# These devices bind to the hid-logitech-hidpp module since Linux 3.19
++ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c52b", DRIVER=="logitech-hidpp-device", ENV{UPOWER_BATTERY_TYPE}="unifying"
++ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c532", DRIVER=="logitech-hidpp-device", ENV{UPOWER_BATTERY_TYPE}="unifying"
+ ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c52f", ENV{UPOWER_BATTERY_TYPE}="lg-wireless"
+ LABEL="up_unifying_end"
+--
+2.6.3
+
diff --git a/source/a/upower/patches/upower-pm-utils-0.9.23-fix-segfault.patch b/source/a/upower/patches/upower-pm-utils-0.9.23-fix-segfault.patch
new file mode 100644
index 000000000..3e8976320
--- /dev/null
+++ b/source/a/upower/patches/upower-pm-utils-0.9.23-fix-segfault.patch
@@ -0,0 +1,24 @@
+From 0d64bbddaa0078ef148d609a3cfad854cf00d7de Mon Sep 17 00:00:00 2001
+From: Martin Pitt <martinpitt@gnome.org>
+Date: Fri, 08 Nov 2013 13:59:50 +0000
+Subject: lib: Fix segfault on getting property when daemon is not running
+
+This fixes "upower --version" when the daemon is not running, and thus the
+client proxy is NULL.
+---
+diff --git a/libupower-glib/up-client.c b/libupower-glib/up-client.c
+index 35d7b5d..17fb02d 100644
+--- a/libupower-glib/up-client.c
++++ b/libupower-glib/up-client.c
+@@ -322,6 +322,9 @@ up_client_get_property (GObject *object,
+ UpClient *client;
+ client = UP_CLIENT (object);
+
++ if (client->priv->proxy == NULL)
++ return;
++
+ switch (prop_id) {
+ case PROP_DAEMON_VERSION:
+ g_value_set_string (value, up_client_glue_get_daemon_version (client->priv->proxy));
+--
+cgit v0.9.0.2-2-gbebe
diff --git a/source/a/upower/upower.SlackBuild b/source/a/upower/upower.SlackBuild
index e58319602..93b2a69a4 100755
--- a/source/a/upower/upower.SlackBuild
+++ b/source/a/upower/upower.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for upower
-# Copyright 2010, 2011 Robby Workman, Northport, Alabama, USA
+# Copyright 2010, 2011, 2015 Robby Workman, Tuscaloosa, Alabama, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -27,7 +27,7 @@
PKGNAM=upower
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d- | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-3}
NUMJOBS=${NUMJOBS:--j7}
@@ -35,7 +35,7 @@ NUMJOBS=${NUMJOBS:--j7}
MARCH=$( uname -m )
if [ -z "$ARCH" ]; then
case "$MARCH" in
- i?86) export ARCH=i486 ;;
+ i?86) export ARCH=i586 ;;
armv7hl) export ARCH=$MARCH ;;
arm*) export ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
@@ -43,8 +43,8 @@ if [ -z "$ARCH" ]; then
esac
fi
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
@@ -82,6 +82,15 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
+zcat $CWD/patches/upower-pm-utils-0.9.23-fix-segfault.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/linux-Properly-detect-bluetooth-mice-and-keyboards-t.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/rules-support-Logitech-Unifying-in-Linux-3.19.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/linux-Clamp-percentage-for-overfull-batteries.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/linux-Detect-docked-docking-stations-correctly.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/Fix-HID-rules-header-as-per-discussions.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/Update-UPower-HID-rules-supported-devices-list.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/patches/rules-Add-support-for-Logitech-G700s-G700-Gaming-Mou.patch.gz | patch -p1 --verbose || exit 1
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
@@ -93,6 +102,7 @@ CXXFLAGS="$SLKCFLAGS" \
--docdir=/usr/doc/$PKGNAM-$VERSION \
--disable-static \
--enable-man-pages \
+ --enable-deprecated \
--build=$TARGET
make $NUMJOBS || make || exit 1
diff --git a/source/a/usb_modeswitch/device_reference.txt b/source/a/usb_modeswitch/device_reference.txt
index 1a21efb3b..d34ec3ed0 100644
--- a/source/a/usb_modeswitch/device_reference.txt
+++ b/source/a/usb_modeswitch/device_reference.txt
@@ -1,7 +1,7 @@
#
-# Device and Configuration Reference (UTF-8 encoding used)
+# Device Reference (UTF-8 encoding used)
#
-# Last modified: 2013-10-16
+# Last modified: 2014-05-29
#
# Collection of configurations for usb_modeswitch, a mode switching
# tool for controlling flip flop (multiple mode) USB devices
@@ -21,191 +21,14 @@
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
-# For custom settings:
-# Numbers can be decimal or hexadecimal, MessageStrings MUST be
-# hexadecimal without prepended "0x". Digits 9-16 in the known
-# MessageStrings are arbitrary; I set them to "12345678"
-
-# What it all means (short command line flags appended):
-#
-#
-# * DefaultVendor -v <hex number>
-# * DefaultProduct -p <hex number>
-#
-# This is the ID the USB device shows after having been plugged in.
-# The program needs this, either on the command line or in the config
-# file; if not found -> no action.
-#
-#
-# * TargetVendor -V <hex number>
-# * TargetProduct -P <hex number>
-#
-# These are the IDs of the USB device after successful mode switching.
-# They are optional, but I recommend to provide them for better analysis.
-# You definitely need them if you enable CheckSuccess (see below)
-#
-#
-# * TargetProductList (file only) <comma separated hex strings>
-#
-# Like TargetProduct, but more than one possibility. Only used in automated
-# config files (in /etc/usb_modeswitch.d).
-#
-#
-# * TargetClass -C <hex number>
-#
-# Some weird devices don't change IDs. They only switch the device class.
-# If the device has the target class -> no action (and vice versa)
-#
-#
-# * MessageEndpoint -m <hex number>
-#
-# A kind of address inside the interface to which the "message"
-# (the sequence that does the actual switching) is directed.
-# Obsolete since version 0.9.7, only useful for testing
-#
-#
-# * MessageContent -M <hex string>
-#
-# A hex string containing the "message" sequence; it will be
-# sent as a USB bulk transfer
-#
-#
-# * MessageContent2, ...3 -2/-3 <hex string>
-#
-# Additional "messages". Use with "NeedResponse"!
-#
-#
-# * ReleaseDelay -w <milliseconds>
-#
-# Waiting time after message transfers. Helps with some sensitive devices
-# that don't want any traffic after the mode switch initialisation
-#
-#
-# * ResponseEndpoint -r <hex number>
-# * NeedResponse <0/1> -n
-#
-# Some devices were reported to require receiving the response of the
-# bulk transfer to do the switching properly. Usually not needed.
-# Starting from version 1.0.0 the ResponseEndpoint is autodetected
-# if not given
-#
-#
-# * DetachStorageOnly <0/1> -d
-#
-# Some early devices just needed to be detached from the usb-storage
-# driver to initiate the mode switching. Now paractically obsolete for
-# switching, but still comes handy sometimes
-#
-#
-# * HuaweiMode <0/1> -H
-#
-# Some early Huawei devices can be switched by a special control
-# message. Don't use with recent devices
-#
-#
-# * SonyMode <0/1> -O
-#
-# Some Sony-Ericsson devices can be switched by a special control
-# message. May take a long time (20+ seconds).
-#
-#
-# * SierraMode <0/1> -S
-# * KobilMode <0/1> -T
-# * GCTMode <0/1> -G
-# * SequansMode <0/1> -N
-# * MobileActionMode <0/1> -A
-# * QisdaMode <0/1> -B
-# * QuantaMode <0/1> -E
-# * PantechMode <0/1> -F
-# * BlackberryMode <0/1> -Z
-# * CiscoMode <0/1> -L
-#
-#
-# Flags to support devices that need special control messages.
-# The names are referring to the respective manufacturers.
-#
-#
-# * ResetUSB <0/1> -R
-#
-# Few devices or systems need a rougher treatment. If the switching seems
-# to do something but your system does not reflect it, try this somewhat
-# brutal method to do a reset after switching.
-# Mind that if your device switched OK before, this may set it back to
-# storage mode ...
-#
-#
-# * Interface -i <hex number>
-# * Configuration -u <hex number>
-# * AltSetting -a <hex number>
-#
-# More USB parameter to help with tricky devices and for doing lots
-# of cruel experiments ...
-#
-## Note:
-## AltSetting/Configuration changes and ResetUSB are executed after all
-## other steps and can be combined or used on their own (e.g. a reset
-## might have the same effect as a manual replug)
-#
-#
-# * InquireDevice <0|1> -I (disables inquiry)
-#
-# The standard since 1.0.0 is to do a SCSI inquiry on the default device
-# before other actions. This might be a future way to identify a device
-# without ambiguities. If it causes trouble with your device, just disable.
-#
-#
-# * CheckSuccess -s <number>
-#
-# Check continuously if the switch succeeded for max <number> seconds.
-# First, an interface access test: most devices vanish after
-# switching and can't be accessed anymore.
-# Second, a recount of target devices: one more than at the initial
-# count, at the same bus with a higher device number -> device
-# switched fine.
-# It's safe to give a higher value than needed; checking stops as
-# soon as the target device is found
-#
-#
-# * NoDriverLoading <0|1> (no command line parameter)
-#
-# The binary tells the wrapper script NOT to check for and initiate
-# binding of the serial driver after switching.
-# Mostly useful for non-modem devices.
-#
-#
-# * WaitBefore <seconds> (no command line parameter)
-#
-# Waiting time before taking any action. Helps with some sensitive setups.
-#
-#
-# * NoMBIMCheck <0|1> (no command line parameter)
-#
-# Disable the check for new MBIM standard devices, which is always done
-# by default.
-#
-#
-#
-# -> All other entries in config files are just ignored <-
-
-# Additional command line flags:
-#
-# Verbose output -W
-# No output at all -q
-# Use config file -c <file>
-# Use stdin for long config -t
-# Give long config as string -f <multiline string using config file syntax>
-# Give bus number for ID'ing -b
-# Give dev number for ID'ing -g
-
-
-# For filling in all this information for an unknown device,
-# see instructions and links on the homepage:
-# http://www.draisberghof.de/usb_modeswitch
+# For a parameter reference see file REFERENCE in the data package
#
# If you find working codes and configurations, please contribute
# them!
+
+
#######################################################
# Option GlobeSurfer Icon (aka "Vodafone EasyBox")
#
@@ -2276,19 +2099,6 @@ TargetClass=0xff
MessageContent="55534243123456780000000000000606f50402527000000000000000000000"
-########################################################
-# Vodafone/ZTE K3806-Z
-
-DefaultVendor= 0x19d2
-DefaultProduct=0x0013
-
-TargetVendor= 0x19d2
-TargetProduct= 0x0015
-
-MessageContent="5553424312345678000000000000061b000000020000000000000000000000"
-
-NeedResponse=1
-
########################################################
# T-Mobile NL (Huawei E352)
#
@@ -3029,21 +2839,7 @@ NeedResponse=1
########################################################
-# TW-3G HSPA+
-#
-# Contributor: Nordic Nurse
-
-DefaultVendor= 0x1c9e
-DefaultProduct=0x98ff
-
-TargetVendor= 0x1c9e
-TargetProduct= 0x9801
-
-MessageContent="55534243123456780000000080000606f50402527000000000000000000000"
-
-
-########################################################
-# Samsung GT-B1110
+# Samsung GT-B1110
#
# Contributor: Spelroth
@@ -3997,4 +3793,47 @@ TargetProduct= 0x6085
PantechMode=1
+
+#######################################################
+# Quanta MobileGenie 4G lte
+#
+# Contributor: Richard Wood
+
+DefaultVendor= 0x0408
+DefaultProduct=0xea43
+
+TargetVendor= 0x0408
+TargetProduct= 0xea47
+
+MessageContent="5553424312345678000000000000061b000000020000000000000000000000"
+
+
+########################################################
+# AVM Fritz!Wlan USB Stick N v2
+#
+# Contributor: merla
+
+DefaultVendor= 0x057c
+DefaultProduct=0x62ff
+
+TargetVendor= 0x057c
+TargetProduct= 0x8501
+
+MessageContent="5553424312345678000000000000061b000000ff0000000000000000000000"
+
+
########################################################
+# Alcatel-sbell ASB TL131 TD-LTE
+#
+# Contributor: scateu
+
+DefaultVendor= 0x05c6
+DefaultProduct=0x9024
+
+TargetVendor= 0x05c6
+TargetProduct= 0x9025
+
+MessageContent="5553424312345678000000000000061b000000020000000000000000000000"
+
+
+#######################################################
diff --git a/source/a/usb_modeswitch/usb_modeswitch.SlackBuild b/source/a/usb_modeswitch/usb_modeswitch.SlackBuild
index ac26ff4d6..703222152 100755
--- a/source/a/usb_modeswitch/usb_modeswitch.SlackBuild
+++ b/source/a/usb_modeswitch/usb_modeswitch.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for usb_modeswitch.
-# Copyright 2010, 2012, 2013 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2010, 2012, 2013, 2015 Patrick J. Volkerding, Sebeka, Minnesota, USA
# Copyright 2010 David Somero, Athens, TN, USA
# All rights reserved.
#
@@ -24,14 +24,14 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PKGNAM=usb_modeswitch
-VERSION=${VERSION:-2.0.1}
-DATAVER=${DATAVER:-20130807}
+VERSION=${VERSION:-2.2.6}
+DATAVER=${DATAVER:-20151101}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 ) ;;
@@ -45,8 +45,8 @@ CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-$PKGNAM
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
diff --git a/source/a/usbutils/usbutils-007.tar.sign b/source/a/usbutils/usbutils-007.tar.sign
deleted file mode 100644
index 4c8ea414a..000000000
--- a/source/a/usbutils/usbutils-007.tar.sign
+++ /dev/null
@@ -1,17 +0,0 @@
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.19 (GNU/Linux)
-
-iQIcBAABAgAGBQJRsR1jAAoJEDjbvchgkmk+jFsQAIHKnkijXjdzij6VEBqfq0RO
-WrqhtR6EWOwo60/oYIzw0dLynZwBeA4OQ+QGAAA5XSfeSOEPcVRE06bN0Cv9omVj
-GYJz5mBguAo6IfRf+rRXd8p9nnC0mS3qTpIA0/T2vSPopImrx2RfbzzpsAeEwTpg
-K7qqcdwoApd3qvBCrmPWzSIvTEGnxZPpiy5cBVoZ9YhAx09PinbUGhz7Z3cc/VJZ
-nFa+YfCie2P5eJtsv9EXudJs6NhUP02bUHtoDvktDPvQnXOtEqUBF3LsECX16kL3
-nwfWvpyDDRNEhu9jj2QspXHzROO435WTWQB81q0x1Qf14tsGa3SFgGj1mQhweAul
-m9t4fo0T+/Kgl1P2kohwa/7ws6WDc1Sy7/sd7cOxDYNQZEH1lH4mja0Qm1ViZ0lR
-ydpjHFtcjT/FHSYUOOIdIAg5NXrWhH1moAKduW9byAgM2q68nTGzs93j3uiundZv
-knfhfO3WGUlXgLYznyUUTR5xAMLq0zQUV0sNiPLci/jU0dyPMmVhnPsfivK1xN4q
-RnpU7cc3/IYYiTdlMz4jOJSMvNF2CU2ebLHEAuelbz9/jte2E+kwc3VAu5bWlSGb
-REdcYVgyV+2nA/DU61+wCJC7QIFxC/zHYtQ6vdGIcTndST0fywmtyObuL7kTkmf7
-gDNrUyjKGdFMawPfSAcm
-=Ku5j
------END PGP SIGNATURE-----
diff --git a/source/a/usbutils/usbutils-008.tar.sign b/source/a/usbutils/usbutils-008.tar.sign
new file mode 100644
index 000000000..52f8495a1
--- /dev/null
+++ b/source/a/usbutils/usbutils-008.tar.sign
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2
+
+iQIcBAABAgAGBQJURsk6AAoJEDjbvchgkmk+F+EQAKVI4MKXye0qmoTgZR70q+o/
+ANwlSg+mwTrpIxHO+dVUY3NPJlj0ZT/TnV3Xbe2UjxDe0JW7CkMeLAocqhdWy4sq
+cGUlLASeiANSgv+tilqwHZTpTlM4Wo0EtnDJ29U0oVim8vPED7AXZbENZ3S6nuCk
+RrcxVzo9UsBckniIkuY8fsTpcU0FcLsPIhgasw0iToBdVfeZp3LuLF9s69Gt6BK/
+BJKa1L3q14jGcH8MJBO+gQuiu/gYxgdYGXdzqxGmfDSHON/pyOAlzYDdxLAqR76B
++LbQW6lTnlPutlW4QEYfnmKYXvXkof7saKt/UXrJcXNK/YwbiTHiRQ4lxtlP5WyW
+vTunBLssJCDVRyQMV2iD9c0PLTiPcGcFp2tpkM1ULUMpnrWLF4K83KQQ2y51NA0p
+J/4jQLQWOXjX+e/Ns6R9Mp3D3vh7Jy/fsdyDlsCR2YVMVePBSbQ8n0UqNzQnqa+Z
+na2w/51XIazG5ijk4dPhx0hkO+fZVgfMSX+rITlsIjga+ezwwwUDgSc/NZhoteN/
+5pHGXXnsPRmhc+7sG6T3D17w1euu9rZ6eznXGQqrN6pDaxbiH8AnbyYteXQcANr0
+8duSxDb3R74ZVAlhfRF9MeSIdq+bBZCOptiXtAgnEYbYoG8vU3UBuhMc+q7y3Adw
+Abrr12hSiLQDnX+T+YlF
+=rTq4
+-----END PGP SIGNATURE-----
diff --git a/source/a/usbutils/usbutils.SlackBuild b/source/a/usbutils/usbutils.SlackBuild
index 0a9380258..263367427 100755
--- a/source/a/usbutils/usbutils.SlackBuild
+++ b/source/a/usbutils/usbutils.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011, 2013 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2013, 2015 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -29,7 +29,7 @@ NUMJOBS=${NUMJOBS:--j7}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 ) ;;
@@ -40,8 +40,8 @@ CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-usbutils
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-O2 -march=i686 -mtune=i686"
@@ -68,9 +68,9 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-# Fetch the latest usb.ids:
-rm -f usb.ids*
-wget $(grep 'SRC=' update-usbids.sh.in | cut -d= -f2- | tr -d \")
+## Fetch the latest usb.ids:
+#rm -f usb.ids*
+#wget $(grep 'SRC=' update-usbids.sh.in | cut -d= -f2- | tr -d \")
# Use --datadir=/usr/share/hwdata so usb.ids is expected to be there
CFLAGS="$SLKCFLAGS" \
@@ -85,29 +85,6 @@ CFLAGS="$SLKCFLAGS" \
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
-# Get rid of this redundant file:
-rm -f $PKG/usr/share/hwdata/usb.ids.gz
-
-## Use the usb.ids file shipped with the hwdata package
-#rm -f $PKG/usr/share/hwdata/usb.ids*
-
-# Put a compat symlink in place for stuff that doesn't know about pkgconfig
-ln -s hwdata/usb.ids $PKG/usr/share/usb.ids
-
-# The usbids are kept under /usr, so it makes no sense at all to have
-# this util in /sbin rather than /usr/sbin:
-mkdir -p $PKG/usr/sbin
-mv $PKG/sbin/update-usbids.sh $PKG/usr/sbin/update-usbids.sh
-
-# Now that they install the util as "update-usbids.sh" instead of
-# "update-usbids", we have to make a compatibility symlink in case
-# anyone is updating this with a cron job or some such:
-( cd $PKG/usr/sbin ; ln -sf update-usbids.sh update-usbids )
-
-# And, since they put the util in /sbin, we'd better at least make the
-# upstream name available there too...
-( cd $PKG/sbin ; ln -sf /usr/sbin/update-usbids.sh . )
-
find $PKG | xargs file | grep -e "executable" -e "shared object" \
| grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
@@ -128,7 +105,7 @@ fi
mkdir -p $PKG/usr/doc/usbutils-$VERSION
cp -a \
- AUTHORS COPYING NEWS README \
+ AUTHORS COPYING* NEWS README* \
$PKG/usr/doc/usbutils-$VERSION
# If there's a ChangeLog, installing at least part of the recent history
diff --git a/source/a/utempter/utempter.SlackBuild b/source/a/utempter/utempter.SlackBuild
index 5d6f054f0..d21c33128 100755
--- a/source/a/utempter/utempter.SlackBuild
+++ b/source/a/utempter/utempter.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008-2010, 2015, 2016 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -20,67 +20,97 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+# The original package name was "utempter", but this new version
+# calls itself "libutempter". We'll keep the same old package name
+# to avoid confusing upgrades.
-VERSION=1.1.5
-BUILD=${BUILD:-1}
+VERSION=1.1.6
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 [ "$ARCH" = "x86_64" ]; then
+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
CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-utempter
+
rm -rf $PKG
mkdir -p $TMP $PKG/usr
-
cd $TMP
-# The original package name was "utempter", but this new version
-# calls itself "libutempter". We'll keep the same old package name
-# to avoid confusing upgrades.
rm -rf libutempter-$VERSION
-tar xjvf $CWD/libutempter-$VERSION.tar.bz2
+tar xvf $CWD/libutempter-$VERSION.tar.bz2
cd libutempter-$VERSION
chown -R root:root .
-## I see no reason to use different paths than in utempter-0.5.2:
-#zcat $CWD/libutempter.slack.diff.gz | patch -p1 --verbose || exit 1
-find . -perm 664 -exec chmod 644 {} \;
-find . -perm 775 -exec chmod 755 {} \;
+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 {} \;
+
+# Fix libdir for x86_64:
sed -i -e "s#/usr/lib#/usr/lib${LIBDIRSUFFIX}#g" Makefile
-make
-make install DESTDIR=$PKG
-# A static libutempter seems like a bad idea, since it wouldn't work
-# without the making utempter binary. That and the shared lib are a
-# closely matched set.
+
+make RPM_OPT_FLAGS="$SLKCFLAGS" mandir=/usr/man
+make install mandir=/usr/man DESTDIR=$PKG
+
+# A static libutempter seems like a bad idea, since it wouldn't work without
+# the making utempter binary. That and the shared lib are a closely matched set.
rm -f $PKG/usr/lib${LIBDIRSUFFIX}/libutempter.a
-# Set proper permissions:
+
+# Ensure proper ownership and permissions:
chown root:utmp $PKG/usr/lib${LIBDIRSUFFIX}/utempter/utempter
chmod 2755 $PKG/usr/lib${LIBDIRSUFFIX}/utempter/utempter
-chmod 644 $PKG/usr/include/utempter.h
+
+# Compress and link manpages, if any:
+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 | grep -v '\.gz$') ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
mkdir -p $PKG/usr/doc/utempter-$VERSION
cp -a \
COPYING README \
$PKG/usr/doc/utempter-$VERSION
+
( cd $PKG
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
)
+
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
zcat $CWD/doinst.sh > $PKG/install/doinst.sh
cd $PKG
-makepkg -l y -c n $TMP/utempter-$VERSION-$ARCH-$BUILD.txz
+/sbin/makepkg -l y -c n $TMP/utempter-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/a/util-linux/0001-mount-old-fix-encryption-usage.patch b/source/a/util-linux/0001-mount-old-fix-encryption-usage.patch
deleted file mode 100644
index afe6e5c91..000000000
--- a/source/a/util-linux/0001-mount-old-fix-encryption-usage.patch
+++ /dev/null
@@ -1,88 +0,0 @@
---- ./mount/mount.c.orig 2012-05-25 04:44:58.993195438 -0500
-+++ ./mount/mount.c 2012-08-02 12:04:52.455435631 -0500
-@@ -41,6 +41,7 @@
- #include "nls.h"
- #include "blkdev.h"
- #include "strutils.h"
-+#include "xgetpass.h"
-
- #define DO_PS_FIDDLING
-
-@@ -1238,6 +1239,8 @@
- int looptype;
- uintmax_t offset = 0, sizelimit = 0;
- struct loopdev_cxt lc;
-+ char *pwd = NULL;
-+ int ret = EX_FAIL;
-
- /*
- * In the case of a loop mount, either type is of the form lo@/dev/loop5
-@@ -1317,8 +1320,18 @@
- return EX_FAIL;
- }
-
-+ if (opt_encryption) {
-+#ifdef MCL_FUTURE
-+ if (mlockall(MCL_CURRENT | MCL_FUTURE)) {
-+ error(_("mount: couldn't lock into memory"));
-+ return EX_FAIL;
-+ }
-+#endif
-+ pwd = xgetpass(pfd, _("Password: "));
-+ }
-+
- loopcxt_init(&lc, 0);
-- /* loopcxt_enable_debug(&lc, 1); */
-+ /*loopcxt_enable_debug(&lc, 1);*/
-
- if (*loopdev && **loopdev)
- loopcxt_set_device(&lc, *loopdev); /* use loop=<devname> */
-@@ -1343,6 +1356,8 @@
- rc = loopcxt_set_offset(&lc, offset);
- if (!rc && sizelimit)
- rc = loopcxt_set_sizelimit(&lc, sizelimit);
-+ if (!rc && opt_encryption && pwd)
-+ loopcxt_set_encryption(&lc, opt_encryption, pwd);
- if (!rc)
- loopcxt_set_flags(&lc, loop_opts);
-
-@@ -1358,8 +1373,7 @@
- break; /* success */
-
- if (rc != -EBUSY) {
-- if (verbose)
-- printf(_("mount: failed setting up loop device\n"));
-+ error(_("mount: %s: failed setting up loop device: %m"), *loopfile);
- if (!opt_loopdev) {
- my_free(*loopdev);
- *loopdev = NULL;
-@@ -1399,9 +1413,15 @@
- }
- }
-
-- return 0;
-+ ret = 0;
- err:
-- return EX_FAIL;
-+ if (pwd) {
-+ char *p = pwd;
-+ while (*p)
-+ *p++ = '\0';
-+ free(pwd);
-+ }
-+ return ret;
- }
-
-
---- ./mount/Makefile.am.orig 2012-05-25 04:44:58.000000000 -0500
-+++ ./mount/Makefile.am 2012-08-02 12:04:14.958439138 -0500
-@@ -23,7 +23,8 @@
- $(top_srcdir)/lib/at.c \
- $(top_srcdir)/lib/sysfs.c \
- $(top_srcdir)/lib/loopdev.c \
-- $(top_srcdir)/lib/strutils.c
-+ $(top_srcdir)/lib/strutils.c \
-+ $(top_srcdir)/lib/xgetpass.c
-
- # generic flags for all programs
- # -- note that pkg-config autoconf macros (pkg.m4) does not differentiate
diff --git a/source/a/util-linux/0002-fdisk-don-t-ignore-1MiB-granularity-on-512-byte-sect.patch b/source/a/util-linux/0002-fdisk-don-t-ignore-1MiB-granularity-on-512-byte-sect.patch
deleted file mode 100644
index 4d3622c32..000000000
--- a/source/a/util-linux/0002-fdisk-don-t-ignore-1MiB-granularity-on-512-byte-sect.patch
+++ /dev/null
@@ -1,31 +0,0 @@
---- ./fdisk/fdisk.c.orig 2012-05-25 04:44:58.977195366 -0500
-+++ ./fdisk/fdisk.c 2012-08-02 12:00:59.692457377 -0500
-@@ -569,6 +569,19 @@
- lba_is_aligned(unsigned long long lba)
- {
- unsigned int granularity = max(phy_sector_size, min_io_size);
-+ unsigned long long offset;
-+
-+ if (grain > granularity)
-+ granularity = grain;
-+ offset = (lba * sector_size) & (granularity - 1);
-+
-+ return !((granularity + alignment_offset - offset) & (granularity - 1));
-+}
-+
-+static int
-+lba_is_phy_aligned(unsigned long long lba)
-+{
-+ unsigned int granularity = max(phy_sector_size, min_io_size);
- unsigned long long offset = (lba * sector_size) & (granularity - 1);
-
- return !((granularity + alignment_offset - offset) & (granularity - 1));
-@@ -1808,7 +1821,7 @@
- static void
- check_alignment(unsigned long long lba, int partition)
- {
-- if (!lba_is_aligned(lba))
-+ if (!lba_is_phy_aligned(lba))
- printf(_("Partition %i does not start on physical sector boundary.\n"),
- partition + 1);
- }
diff --git a/source/a/util-linux/bsdstrings-util-linux_overflow.diff b/source/a/util-linux/bsdstrings-util-linux_overflow.diff
new file mode 100644
index 000000000..127ff9d0c
--- /dev/null
+++ b/source/a/util-linux/bsdstrings-util-linux_overflow.diff
@@ -0,0 +1,20 @@
+From db281fc97f1d665a61acabfd8d5933130996b29f Mon Sep 17 00:00:00 2001
+From: mancha <mancha1@zoho.com>
+Date: Wed, 29 Oct 2014
+Subject: Heap overflow
+
+Fix heap-buffer-overflow in strings.c as bundled by util-linux
+through version 2.9 and as shipped by Slackware Linux and
+Slackware derivatives.
+
+--- a/strings.c
++++ b/strings.c
+@@ -124,7 +124,7 @@ main(argc, argv)
+ if (minlen == -1)
+ minlen = DEF_LEN;
+
+- if (!(bfr = malloc((u_int)minlen))) {
++ if (!(bfr = malloc((u_int)minlen + 1))) {
+ (void)fprintf(stderr, "strings: %s\n", strerror(errno));
+ exit(1);
+ }
diff --git a/source/a/util-linux/column-fix_long_opts.diff b/source/a/util-linux/column-fix_long_opts.diff
deleted file mode 100644
index e5215db7b..000000000
--- a/source/a/util-linux/column-fix_long_opts.diff
+++ /dev/null
@@ -1,15 +0,0 @@
-diff -Naur util-linux-2.21.2/text-utils/column.c util-linux-2.21.2.patched//text-utils/column.c
---- util-linux-2.21.2/text-utils/column.c 2012-05-25 05:44:59.000000000 -0400
-+++ util-linux-2.21.2.patched//text-utils/column.c 2012-08-14 05:22:17.000000000 -0400
-@@ -121,9 +121,9 @@
- {
- { "help", 0, 0, 'h' },
- { "version", 0, 0, 'V' },
-- { "columns", 0, 0, 'c' },
-+ { "columns", 1, 0, 'c' },
- { "table", 0, 0, 't' },
-- { "separator", 0, 0, 's' },
-+ { "separator", 1, 0, 's' },
- { "fillrows", 0, 0, 'x' },
- { NULL, 0, 0, 0 },
- };
diff --git a/source/a/util-linux/ddate.1 b/source/a/util-linux/ddate.1
new file mode 100644
index 000000000..ec4ee81d9
--- /dev/null
+++ b/source/a/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/source/a/util-linux/ddate.c b/source/a/util-linux/ddate.c
new file mode 100644
index 000000000..4c2a0f8f7
--- /dev/null
+++ b/source/a/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 <misiek@pld.ORG.PL>
+ - added Native Language Support
+
+ 2000-03-17 Burt Holzman <holzman+ddate@gmail.com>
+ - added range checks for dates
+
+ 2014-06-07 William Woodruff <william@tuffbizz.com>
+ - 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 <stdlib.h>
+#include <string.h>
+#include <time.h>
+#include <stdio.h>
+
+
+// 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; pi<argc; pi++) {
+ switch(argv[pi][0]) {
+ case '+': fnord=argv[pi]+1; break;
+ case '-':
+ switch(argv[pi][1]) {
+ case 'V':
+ printf(("%s (%s)\n"), progname, PACKAGE_STRING);
+ default: goto usage;
+ }
+ default: goto thud;
+ }
+ }
+
+ thud:
+ if (argc-pi==3){
+ int moe=atoi(argv[pi]), larry=atoi(argv[pi+1]), curly=atoi(argv[pi+2]);
+ hastur=makeday(
+#ifdef US_FORMAT
+ moe,larry,
+#else
+ larry,moe,
+#endif
+ curly);
+ if (hastur.season == -1) {
+ printf("Invalid date -- out of range\n");
+ return -1;
+ }
+ fnord=fnord?fnord:default_fmt;
+ } else if (argc!=pi) {
+ usage:
+ fprintf(stderr,("usage: %s [+format] [day month year]\n"), argv[0]);
+ exit(1);
+ } else {
+ t= time(NULL);
+ eris=localtime(&t);
+ bob=eris->tm_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; i<fmtlen; i++) {
+ if(fmt[i]=='%') {
+ switch(fmt[i+1]) {
+ case 'A':
+ case 'a':
+ case 'd':
+ case 'e':
+ if(tib_start>0) 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<fmtlen; i++) {
+ if((i==tib_start) && (dt.day==-1)) {
+ /* handle St. Tib's Day */
+ strcpy(bufptr, ("St. Tib's Day"));
+ bufptr += strlen(bufptr);
+ i=tib_end;
+ } else {
+ if(fmt[i]=='%') {
+ char *wibble=0, snarf[23];
+ switch(fmt[++i]) {
+ case 'A': wibble=day_long[dt.yday%5]; break;
+ case 'a': wibble=day_short[dt.yday%5]; break;
+ case 'B': wibble=season_long[dt.season]; break;
+ case 'b': wibble=season_short[dt.season]; break;
+ case 'd': sprintf(snarf, "%d", dt.day+1); wibble=snarf; break;
+ case 'e': sprintf(snarf, "%d%s", dt.day+1, ending(dt.day+1));
+ wibble=snarf; break;
+ case 'H': if(dt.day==4||dt.day==49)
+ wibble=holyday[dt.season][dt.day==49]; break;
+ case 'N': if(dt.day!=4&&dt.day!=49) goto eschaton; break;
+ case 'n': *(bufptr++)='\n'; break;
+ case 't': *(bufptr++)='\t'; break;
+
+ case 'Y': sprintf(snarf, "%d", dt.year); wibble=snarf; break;
+ case '.': wibble=sel(excl, ARRAY_SIZE(excl));
+ break;
+#ifdef KILL_BOB
+ case 'X': sprintf(snarf, "%d",
+ xday_countdown(dt.yday, dt.year));
+ wibble = snarf; break;
+#endif /* KILL_BOB */
+ }
+ if(wibble) {
+/* fprintf(stderr, "wibble = (%s)\n", wibble);*/
+ strcpy(bufptr, wibble); bufptr+=strlen(wibble);
+ }
+ } else {
+ *(bufptr++) = fmt[i];
+ }
+ }
+ }
+ eschaton:
+ *(bufptr)=0;
+}
+
+struct disc_time makeday(int imonth,int iday,int iyear) /*i for input */
+{
+ struct disc_time funkychickens;
+
+ int cal[12] = { 31,28,31,30,31,30,31,31,30,31,30,31 };
+ int dayspast=0;
+
+ memset(&funkychickens,0,sizeof(funkychickens));
+ /* basic range checks */
+ if (imonth < 1 || imonth > 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/source/a/util-linux/partx.data.type.diff b/source/a/util-linux/partx.data.type.diff
deleted file mode 100644
index 9811c0bda..000000000
--- a/source/a/util-linux/partx.data.type.diff
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./partx/partx.h.orig 2012-05-25 04:44:58.994195443 -0500
-+++ ./partx/partx.h 2013-08-07 21:06:30.899997659 -0500
-@@ -23,7 +23,7 @@
- }
-
- static inline int partx_add_partition(int fd, int partno,
-- unsigned long start, unsigned long size)
-+ long long start, long long size)
- {
- struct blkpg_ioctl_arg a;
- struct blkpg_partition p;
diff --git a/source/a/util-linux/util-linux-2.27.1.tar.sign b/source/a/util-linux/util-linux-2.27.1.tar.sign
new file mode 100644
index 000000000..671c7f6ff
--- /dev/null
+++ b/source/a/util-linux/util-linux-2.27.1.tar.sign
@@ -0,0 +1,17 @@
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v1
+
+iQIcBAABAgAGBQJWN0FGAAoJEOS3HV7sOcKEwYIP/0eA52LeAeSVAb3hATWA0TMg
+N0zfKyRECDxRuwdQW3yyjtypd4Cir6QlgyBrqLyXSskVuIj0dq7S1mlI/Xa94IFU
+Fa2lmzyAcxvl33Bv/Fljh/GeVSqqmUHk8q1ecRh7DYR1Lda6xzfCFs2Dl3Q5JXK/
+k2tTgNug0+f8E6LT/5qrrXeDS+O7/hAtRqqA6yHkAHGqYV2RgBJ9NDAanaGYXDeB
+abrduP2xRIvJ9oYOrayG5WH/wAY/sKT433zx20J9ZZvtutTV4VF2ML9zfeQiYitY
+hoQOGt5tJW/CfvU2DUaBlTlrXW/MnMQE8KDWn64NbokA3HOxrW+7wJ/gJCp+7e7v
+gLELeLLTnMq3NX++SR5I2I2fvqBejYykcaOQMHi9DK+UZed/CBJKR+6SF1WKOndI
+GRYJSs9DAXL3dJCSCp6V4fqf+Lfr2Vv4z+Jo8EzIIIlfly1cZx2Blx7C0Y6CNETA
+fYPYYKW7qKHsdS5J2Axf8vNIHQsRhkpiUltjQHQ+rIAmx1hl/10a7Fd9KkqFEJV2
+R0zLPaJK8d9gEWHRdzQNozABZVeR8PV3WXuDD2XjC2T30ldlFNlbzyWhDiPf6DNk
+tIEi3f+RTTltIvCobChq+Ri2dKM0+wAV/FwwR31E/YgJIpUWfJNKRwWT8Ja887JN
+j5aNV18qjet7TUosKYqm
+=BMBT
+-----END PGP SIGNATURE-----
diff --git a/source/a/util-linux/util-linux.SlackBuild b/source/a/util-linux/util-linux.SlackBuild
index b348d83eb..4d6046024 100755
--- a/source/a/util-linux/util-linux.SlackBuild
+++ b/source/a/util-linux/util-linux.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010, 2011, 2012, 2013 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013, 2015 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -22,25 +22,27 @@
# Slackware build script for util-linux
-VERSION=${VERSION:-$(echo util-linux*.tar.?z* | cut -d - -f 3 | rev | cut -f 3- -d . | rev)}
-BUILD=${BUILD:-6}
+VERSION=${VERSION:-$(echo util-linux*.tar.xz | cut -d - -f 3 | rev | cut -f 3- -d . | rev)}
+BUILD=${BUILD:-1}
ADJTIMEXVERS=1.29
SETSERIALVERS=2.17
ZIPTOOLVERS=1.4.0
+NUMJOBS=${--j8}
+
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
@@ -70,38 +72,11 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
-# Disabled login stuff from being built, as this is provided by shadow
-#
-# /sbin/elvtune is not built, as configure says it only works with 2.2 and
-# 2.4 kernels
-
-# This block is handled near the bottom of the script in symlink creation
-# /bin/setterm -- now located in /usr/bin/setterm
-# /bin/getopt -- same as setterm
-# /usr/bin/readprofile -- now in /usr/sbin
-# /usr/bin/tunelp -- same as readprofile
-
# 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
-# Fix loop encryption:
-zcat $CWD/0001-mount-old-fix-encryption-usage.patch.gz | patch -p1 --verbose || exit 1
-
-# Fix fdisk granularity on 512 byte sector size devices:
-zcat $CWD/0002-fdisk-don-t-ignore-1MiB-granularity-on-512-byte-sect.patch.gz | patch -p1 --verbose || exit 1
-
-# 20120814 bkw: fix "column --separator <anything>" segfault
-zcat $CWD/column-fix_long_opts.diff.gz | patch -p1 --verbose || exit 1
-
-# Fix data type in partx to prevent silently truncating partition sizes and
-# offsets to 4GB on 32-bit platforms:
-zcat $CWD/partx.data.type.diff.gz | patch -p1 --verbose || exit 1
-
-# Regenerate, since patch 0001 hits mount/Makefile.am:
-./autogen.sh
-
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
@@ -112,8 +87,8 @@ CFLAGS="$SLKCFLAGS" \
--infodir=/usr/info \
--docdir=/usr/doc/util-linux-$VERSION \
--disable-static \
- --enable-arch \
--enable-agetty \
+ --disable-eject \
--enable-kill \
--disable-last \
--enable-line \
@@ -122,32 +97,46 @@ CFLAGS="$SLKCFLAGS" \
--enable-raw \
--enable-rename \
--enable-reset \
- --disable-login-utils \
+ --disable-login \
--enable-schedutils \
--enable-wall \
--enable-write \
--enable-use-tty-group \
--enable-libblkid \
--enable-libmount \
- --enable-libmount-mount \
--enable-libuuid \
--disable-uuidd \
- --enable-ddate \
+ --with-python=2 \
+ --without-readline \
--build=$ARCH-slackware-linux \
|| exit 1
-make || exit 1
+# UNUSED, but maybe needed if we enable readline here:
+#
+# Yet another project that doesn't seem to get that -readline requires either
+# -ltermcap or -lncurses on systems that don't make assumptions...
+#sed -i -e 's|-lreadline|\0 -lncursesw|g' Makefile
+
+make $NUMBJOBS || make || exit 1
make install DESTDIR=$PKG || make install DESTDIR=$PKG
-# Move the libblkid, libmount, and libuuid libraries to /lib${LIBSUFFIX}
+# 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
+
+# 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 libmount.so libuuid.so
+ 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
)
@@ -165,6 +154,13 @@ if [ -r $PKG/usr/sbin/fdformat ]; then
)
fi
+# 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
cd $TMP || exit 1
rm -rf ziptool-$ZIPTOOLVERS
@@ -188,6 +184,7 @@ 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
@@ -279,7 +276,8 @@ cd $TMP/util-linux-$VERSION # Go back home :)
ln -s ../../sbin/sfdisk .
cd $PKG/usr/bin
ln -s ../sbin/readprofile .
- ln -s ../sbin/tunelp .
+ # tunelp was removed by upstream:
+ #ln -s ../sbin/tunelp .
ln -s ../../bin/more .
ln -s ../../sbin/raw .
cd $PKG/usr/man/man1
diff --git a/source/a/util-linux/util-linux.fdisk-no-solaris.diff b/source/a/util-linux/util-linux.fdisk-no-solaris.diff
index a3aa100e9..a495ffac2 100644
--- a/source/a/util-linux/util-linux.fdisk-no-solaris.diff
+++ b/source/a/util-linux/util-linux.fdisk-no-solaris.diff
@@ -1,6 +1,7 @@
---- ./fdisk/i386_sys_types.c.orig 2007-04-25 07:43:38.000000000 -0500
-+++ ./fdisk/i386_sys_types.c 2008-03-31 14:53:52.000000000 -0500
-@@ -53,7 +53,7 @@
+diff -Nur util-linux-2.24.2.orig/include/pt-mbr-partnames.h util-linux-2.24.2/include/pt-mbr-partnames.h
+--- util-linux-2.24.2.orig/include/pt-mbr-partnames.h 2014-04-24 02:37:04.352704164 -0500
++++ util-linux-2.24.2/include/pt-mbr-partnames.h 2014-07-03 03:33:27.054574467 -0500
+@@ -49,7 +49,7 @@
{0x75, N_("PC/IX")},
{0x80, N_("Old Minix")}, /* Minix 1.4a and earlier */
{0x81, N_("Minix / old Linux")},/* Minix 1.4b and later */
diff --git a/source/a/which/which.SlackBuild b/source/a/which/which.SlackBuild
index 08ae4616c..dd755e41b 100755
--- a/source/a/which/which.SlackBuild
+++ b/source/a/which/which.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2015 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -21,13 +21,14 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=2.20
+PKGNAM=which
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.gz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 ) ;;
diff --git a/source/a/xfsprogs/xfsprogs.SlackBuild b/source/a/xfsprogs/xfsprogs.SlackBuild
index 672290d31..b83d3f212 100755
--- a/source/a/xfsprogs/xfsprogs.SlackBuild
+++ b/source/a/xfsprogs/xfsprogs.SlackBuild
@@ -29,7 +29,7 @@ NUMJOBS=${NUMJOBS:-" -j7 "}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 ) ;;
@@ -40,8 +40,8 @@ CWD=$(pwd)
TMP=${TMP:-/tmp}
PKG=$TMP/package-xfsprogs
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "s390" ]; then
SLKCFLAGS="-O2"
diff --git a/source/a/xz/xz.SlackBuild b/source/a/xz/xz.SlackBuild
index 75b4e5f4d..8bac70d13 100755
--- a/source/a/xz/xz.SlackBuild
+++ b/source/a/xz/xz.SlackBuild
@@ -28,7 +28,7 @@ BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i486 ;;
+ 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 ) ;;
@@ -36,7 +36,7 @@ if [ -z "$ARCH" ]; then
fi
case "$ARCH" in
- i486) SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ i586) SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
;;
s390) SLKCFLAGS="-O2"
@@ -116,8 +116,8 @@ mv $PKG/usr/bin/xz $PKG/bin
# Strip binaries:
( cd $PKG
- find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-debug 2> /dev/null
- find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-debug 2> /dev/null
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
)
# Compress and link manpages, if any:
@@ -152,12 +152,12 @@ mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
-/sbin/makepkg -l y -c n $TMP/${PKGNAM}-${VERSION}-${ARCH}-${BUILD}.tgz
+/sbin/makepkg -l y -c n $TMP/${PKGNAM}-${VERSION}-${ARCH}-${BUILD}.txz
# Move temporary stuff to /tmp, so that it won't get forgotten
# in the shuffle:
-cp -a $TMP/${PKGNAM}-${VERSION}-${ARCH}-${BUILD}.tgz /tmp
+cp -a $TMP/${PKGNAM}-${VERSION}-${ARCH}-${BUILD}.txz /tmp
rm -rf /tmp/xz-tmp*
mv /xz-tmp* /tmp