diff --git a/srcpkgs/xbps-casper/files/COPYING b/srcpkgs/xbps-casper/files/COPYING deleted file mode 100644 index d511905c164..00000000000 --- a/srcpkgs/xbps-casper/files/COPYING +++ /dev/null @@ -1,339 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Lesser General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License along - with this program; if not, write to the Free Software Foundation, Inc., - 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. diff --git a/srcpkgs/xbps-casper/files/bin/casper-getty b/srcpkgs/xbps-casper/files/bin/casper-getty deleted file mode 100755 index 48cb0c9dc1c..00000000000 --- a/srcpkgs/xbps-casper/files/bin/casper-getty +++ /dev/null @@ -1,21 +0,0 @@ -#! /bin/sh - -autologin=1 -for opt in "$@" ; do - if [ "$opt" = "-l" -o "$opt" = "-n" ] ; then - autologin=0 - fi -done - -if [ -x /sbin/agetty ]; then - mygetty=/sbin/agetty -elif [ -x /sbin/getty ]; then - mygetty=/sbin/getty -fi - -if [ "$autologin" = "1" ] ; then - exec ${mygetty} -n -l /sbin/casper-login $* -else - exec ${mygetty} $* -fi - diff --git a/srcpkgs/xbps-casper/files/bin/casper-login b/srcpkgs/xbps-casper/files/bin/casper-login deleted file mode 100755 index a412e8df87b..00000000000 --- a/srcpkgs/xbps-casper/files/bin/casper-login +++ /dev/null @@ -1,9 +0,0 @@ -#! /bin/sh - -USERNAME=root -[ -f /etc/casper.conf ] && . /etc/casper.conf -if [ -n "$AUTOINSTALLER" ]; then - exec /usr/sbin/void-installer -else - exec /bin/login -f $USERNAME -fi diff --git a/srcpkgs/xbps-casper/files/bin/casper-new-uuid b/srcpkgs/xbps-casper/files/bin/casper-new-uuid deleted file mode 100755 index 39dc20c294a..00000000000 --- a/srcpkgs/xbps-casper/files/bin/casper-new-uuid +++ /dev/null @@ -1,85 +0,0 @@ -#!/bin/sh -# -*- coding: utf-8 -*- -# -# «casper-new-uuid» - Creates and injects new UUIDs for casper disks -# -# Create new UUIDs for disks to prevent conflicts and booting the wrong casper -# directory. Particularly useful in creating recovery disks that need to be -# able to also work with recovery partitioning schemes. -# -# Copyright (C) 2008, Dell Inc. -# -# Author: -# - Mario Limonciello -# -# This script is free software; you can redistribute it and/or modify it under -# the terms of the GNU General Public License as published by the Free -# Software Foundation; either version 2 of the License, or at your option) -# any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this application; if not, write to the Free Software Foundation, Inc., 51 -# Franklin St, Fifth Floor, Boston, MA 02110-1301 USA -################################################################################## - -set -e - -help() { - echo - echo "USAGE: $0 initrd.{l,g}z " - echo - echo "initrd.{l,g}z is the absolute path to the original gzipped or lzmaed initramfs" - echo " is the destination directory for the new compressed initramfs" - echo " is the destination directory for the new casper-uuid-TYPE " - echo - echo "if either path is absent, they will end up in the current directory " - echo "TYPE is determined by an already existing casper-uuid-* or by 'uname -s'" -} - -if [ "$#" = "0" ] || [ "x$1" = x-h ] || [ "x$1" = x--help ]; then - help - exit 3 -fi - -CWD=`pwd` -TEMPDIR=`mktemp -d /tmp/uuid-XXXXXX` -TYPE=`uname -r | cut -d '-' -f 3` - -if echo "$1" | grep ".lz$" >/dev/null; then - COMPRESSOR="lzma" - SUFFIX=".lz" -elif echo "$1" | grep ".gz$" >/dev/null; then - COMPRESSOR="gzip" - SUFFIX=".gz" -else - echo "Unsupported archive type." - exit 2 -fi -if [ -z "$2" ] || [ ! -d "$2" ] || [ "$2" = "." ]; then - COMPRESS_DIR="$CWD" -else - COMPRESS_DIR="$2" -fi - -if [ -z "$3" ] || [ ! -d "$3" ] || [ "$3" = "." ]; then - CASPERDIR="$CWD" -else - CASPERDIR="$3" -fi - -cd "$TEMPDIR" -$COMPRESSOR -cd "$1" -S "$SUFFIX" | cpio -id -uuidgen -r > conf/uuid.conf -find . | cpio --quiet --dereference -o -H newc | $COMPRESSOR -9c > "$COMPRESS_DIR/initrd$SUFFIX" -if [ "$(ls "$CASPERDIR/casper-uuid"-* >/dev/null 2>&1 | wc -l)" = 1 ]; then - cp conf/uuid.conf "$CASPERDIR/casper-uuid"-* -else - cp conf/uuid.conf "$CASPERDIR/casper-uuid-$TYPE" -fi -cd "$CWD" -rm -rf "$TEMPDIR" diff --git a/srcpkgs/xbps-casper/files/casper.conf b/srcpkgs/xbps-casper/files/casper.conf deleted file mode 100644 index 2d7ee32d2c3..00000000000 --- a/srcpkgs/xbps-casper/files/casper.conf +++ /dev/null @@ -1,11 +0,0 @@ -# This file should go in /etc/casper.conf -# Supported variables are: -# USERNAME, USERFULLNAME, HOST, BUILD_SYSTEM, AUTOINSTALLER - -export USERNAME="anon" -export USERFULLNAME="Anonymous live session user" -export HOST="xbps-live" -export BUILD_SYSTEM="XBPS" -# If enabled the Void Linux installer will be executed by getty. -# Comment it out to disable and enable user autologin. -export AUTOINSTALLER=1 diff --git a/srcpkgs/xbps-casper/files/hooks/casper b/srcpkgs/xbps-casper/files/hooks/casper deleted file mode 100755 index 773111d95e9..00000000000 --- a/srcpkgs/xbps-casper/files/hooks/casper +++ /dev/null @@ -1,74 +0,0 @@ -#!/bin/sh -e -# initramfs hook for casper - -PREREQS="" - -# Output pre-requisites -prereqs() -{ - echo "$PREREQS" -} - -case "$1" in - prereqs) - prereqs - exit 0 - ;; -esac - -. ${ROOTDIR}/usr/share/initramfs-tools/hook-functions - -manual_add_modules unionfs - -# We need losetup -copy_exec ${ROOTDIR}/sbin/losetup /sbin - -# Casper hooks -mkdir -p ${DESTDIR}/lib/udev/rules.d -cp -p ${ROOTDIR}/lib/udev/rules.d/60-cdrom_id.rules ${DESTDIR}/lib/udev/rules.d/ -copy_exec ${ROOTDIR}/lib/udev/cdrom_id /lib/udev - -# cifs boot -if [ -x ${ROOTDIR}/sbin/mount.cifs ]; then - copy_exec ${ROOTDIR}/sbin/mount.cifs /sbin - for x in cifs; do - manual_add_modules ${x} - done -fi - -# squashfs -manual_add_modules squashfs -manual_add_modules loop - -# random file system modules -manual_add_modules vfat -manual_add_modules ext3 -manual_add_modules ext4 -# needed for vfat. :-/ -manual_add_modules nls_cp437 -manual_add_modules nls_utf8 -manual_add_modules nls_iso8859-1 - -# cdrom modules -manual_add_modules sr_mod -manual_add_modules sbp2 -manual_add_modules ohci1394 - -# Casper helpers. -for helper in getty login new-uuid; do - ln -s /sbin/casper-${helper} ${DESTDIR}/bin -done -cp ${ROOTDIR}/usr/share/initramfs-tools/scripts/casper-helpers $DESTDIR/scripts - -auto_add_modules net - -if [ -e ${ROOTDIR}/etc/casper.conf ]; then - mkdir -p ${DESTDIR}/etc - cp ${ROOTDIR}/etc/casper.conf ${DESTDIR}/etc -fi - -if [ "$CASPER_GENERATE_UUID" ]; then - # Unique ID - mkdir -p $DESTDIR/conf - uuidgen -r > $DESTDIR/conf/uuid.conf -fi diff --git a/srcpkgs/xbps-casper/files/scripts/casper b/srcpkgs/xbps-casper/files/scripts/casper deleted file mode 100644 index 525798f4f0e..00000000000 --- a/srcpkgs/xbps-casper/files/scripts/casper +++ /dev/null @@ -1,366 +0,0 @@ -#!/bin/sh - -# set -e - -export PATH=/usr/bin:/usr/sbin:/bin:/sbin - -mountpoint=/cdrom -LIVE_MEDIA_PATH=casper -LIVE_ROOTFS=filesystem.squashfs - -USERNAME=casper -USERFULLNAME="Live session user" -HOST=live -BUILD_SYSTEM=Custom - -mkdir -p $mountpoint -tried=/tmp/tried - -[ -f /etc/casper.conf ] && . /etc/casper.conf -export USERNAME USERFULLNAME HOST BUILD_SYSTEM - -. /scripts/functions -. /scripts/casper-helpers - -if [ ! -f /casper.vars ]; then - touch /casper.vars -fi - -parse_cmdline() -{ - for x in $(cat /proc/cmdline); do - case $x in - union=*) - export UNIONFS="${x#union=}";; - ignore_uuid) - IGNORE_UUID="Yes" ;; - live-rootfs=*) - LIVE_ROOTFS="${x#live-rootfs=}" - export LIVE_ROOTFS - echo "export LIVE_ROOTFS=\"$LIVE_ROOTFS\"" >> /etc/casper.conf ;; - live-media-path=*) - LIVE_MEDIA_PATH="${x#live-media-path=}" - export LIVE_MEDIA_PATH - echo "export LIVE_MEDIA_PATH=\"$LIVE_MEDIA_PATH\"" >> /etc/casper.conf ;; - toram) - export TORAM="Yes" ;; - todisk=*) - export TODISK="${x#todisk=}" ;; - esac - done - if [ "${UNIONFS}" = "" ]; then - export UNIONFS="unionfs" - fi -} - -is_casper_path() -{ - local path=$1 - - if [ -d "$path/$LIVE_MEDIA_PATH" ]; then - if [ "$(echo $path/$LIVE_MEDIA_PATH/*.squashfs)" != \ - "$path/$LIVE_MEDIA_PATH/*.squashfs" ]; then - return 0 - fi - fi - return 1 -} - -matches_uuid() -{ - if [ "$IGNORE_UUID" ] || [ ! -e /conf/uuid.conf ]; then - return 0 - fi - local path="$1" - local uuid="$(cat /conf/uuid.conf)" - - for try_uuid_file in "$path/.disk/casper-uuid"*; do - [ -e "$try_uuid_file" ] || continue - try_uuid="$(cat "$try_uuid_file")" - if [ "$uuid" = "$try_uuid" ]; then - return 0 - fi - done - return 1 -} - -get_backing_device() -{ - case "$1" in - *.squashfs) - echo $(setup_loop "$1" "loop" "/sys/block/loop*") - ;; - *) - panic "Unrecognized casper filesystem: $1" - ;; - esac -} - -mount_image_in_directory() -{ - local directory="$1" - local rootmnt="$2" - - if [ ! -f "$directory/$LIVE_MEDIA_PATH/$LIVE_ROOTFS" ]; then - panic "Cannot find $directory/$LIVE_MEDIA_PATH/$LIVE_ROOTFS" - fi - - setup_unionfs "$directory/$LIVE_MEDIA_PATH" "$rootmnt" -} - -is_nice_device() -{ - local sysfs_path="${1#/sys}" - - if /sbin/udevadm test-builtin path_id "${sysfs_path}" | \ - egrep -q "ID_PATH=(usb|pci-[^-]*-(ide|scsi|usb)|platform-orion-ehci|platform-mmc|platform-mxsdhci)"; then - return 0 - fi - if echo ${sysfs_path} | grep -q "^/block/dm-"; then - return 0 - fi - return 1 -} - -copy_live_to() -{ - local copyfrom="${1}" - local copytodev="${2}" - local copyto="${copyfrom}_swap" - local size freespace mount_options free_string fstype dev - - size=$(fs_size "" ${copyfrom} "used") - - if [ "${copytodev}" = "ram" ]; then - # copying to ram: - freespace=$(awk '/^MemFree:/{f=$2} /^Cached:/{c=$2} END{print f+c}' /proc/meminfo) - mount_options="-o size=${size}k" - free_string="memory" - fstype="tmpfs" - dev="/dev/shm" - else - # it should be a writable block device - if [ -b "${copytodev}" ]; then - dev="${copytodev}" - free_string="space" - fstype=$(get_fstype "${dev}") - freespace=$(fs_size "${dev}") - else - [ "$quiet" != "y" ] && \ - log_warning_msg "${copytodev} is not a block device." - return 1 - fi - fi - if [ "${freespace}" -lt "${size}" ] ; then - [ "$quiet" != "y" ] && log_warning_msg "Not enough free ${free_string} (${freespace}k > ${size}k) to copy live media in ${copytodev}." - return 1 - fi - - # begin copying.. - mkdir "${copyto}" - echo "mount -t ${fstype} ${mount_options} ${dev} ${copyto}" - mount -t "${fstype}" ${mount_options} "${dev}" "${copyto}" - # "cp -a" from busybox also copies hidden files - cp -a ${copyfrom}/* ${copyto} - umount ${copyfrom} - mount -r -o move ${copyto} ${copyfrom} - rmdir ${copyto} - return 0 -} - -setup_unionfs() -{ - local image_directory="$1" - local rootmnt="$2" - local croot rofsstring rofslist roopt image imagename backdev - local fstype cowdevice cow_fstrype cow_mountopt - - case ${UNIONFS} in - aufs|unionfs) - modprobe "${MP_QUIET}" -b ${UNIONFS} || true - ;; - esac - - # run-init can't deal with images in a subdir, but we're going to - # move all of these away before it runs anyway. No, we're not, - # put them in / since move-mounting them into / breaks mono and - # some other apps. - croot="/" - - # Let's just mount the read-only file systems first - rofsstring="" - rofslist="" - if [ "${UNIONFS}" = "aufs" ]; then - roopt="rr" - else - roopt="ro" - fi - - mkdir -p "${croot}" - image="${image_directory}/${LIVE_ROOTFS}" - imagename=$(basename "$image") - backdev=$(get_backing_device "$image") - fstype=$(get_fstype "${backdev}") - if [ "${fstype}" = "unknown" ]; then - panic "Unknown file system type on ${backdev} (${image})" - fi - mkdir -p "${croot}/${imagename}" - mount -t "${fstype}" -o ro,noatime "${backdev}" "${croot}/${imagename}" \ - || panic "Can not mount $backdev ($image) on ${croot}/${imagename}" - - rofsstring="${croot}/${imagename}=${roopt}:${rofsstring}" - rofslist="${croot}/${imagename} ${rofslist}" - rofsstring=${rofsstring%:} - - mkdir -p /cow - cowdevice="tmpfs" - cow_fstype="tmpfs" - cow_mountopt="rw,noatime,mode=755" - - mount -t ${cow_fstype} -o ${cow_mountopt} ${cowdevice} \ - /cow || panic "Can not mount $cowdevice on /cow" - mount -t ${UNIONFS} -o noatime,dirs=/cow=rw:$rofsstring \ - ${UNIONFS} "$rootmnt" || panic "${UNIONFS} mount failed" - - # move the first mount. - mkdir -p "${rootmnt}/rofs" - mount -o move ${croot}${imagename} "${rootmnt}/rofs" -} - -check_dev() -{ - local sysdev="${1}" - local devname="${2}" - local skip_uuid_check="${3}" - local loopdevname devuid - - if [ -z "${devname}" ]; then - devname=$(sys2dev "${sysdev}") - fi - - if [ -d "${devname}" ]; then - mount -o bind "${devname}" $mountpoint || continue - if is_casper_path $mountpoint; then - echo $mountpoint - return 0 - else - umount $mountpoint - fi - fi - - [ -e "$devname" ] || continue - - if [ -n "${LIVEMEDIA_OFFSET}" ]; then - loopdevname=$(setup_loop "${devname}" "loop" "/sys/block/loop*" "${LIVEMEDIA_OFFSET}") - devname="${loopdevname}" - fi - - fstype=$(get_fstype "${devname}") - if is_supported_fs ${fstype}; then - devuid=$(blkid -o value -s UUID "$devname") - [ -n "$devuid" ] && grep -qs "\<$devuid\>" $tried && continue - mount -t ${fstype} -o ro,noatime "${devname}" $mountpoint || continue - [ -n "$devuid" ] && echo "$devuid" >> $tried - if is_casper_path $mountpoint && \ - ([ "$skip_uuid_check" ] || matches_uuid $mountpoint); then - echo $mountpoint - return 0 - else - umount $mountpoint - fi - fi - - if [ -n "${LIVEMEDIA_OFFSET}" ]; then - losetup -d "${loopdevname}" - fi - return 1 -} - -find_livefs() -{ - local timeout="${1}" - local devname fstype dev - - # first look at the one specified in the command line - if [ ! -z "${LIVEMEDIA}" ]; then - if check_dev "null" "${LIVEMEDIA}" "skip_uuid_check"; then - return 0 - fi - fi - # don't start autodetection before timeout has expired - if [ -n "${LIVEMEDIA_TIMEOUT}" ]; then - if [ "${timeout}" -lt "${LIVEMEDIA_TIMEOUT}" ]; then - return 1 - fi - fi - # or do the scan of block devices - for sysblock in \ - $(echo /sys/block/* | tr ' ' '\n' | grep -vE "/(loop|ram|fd)"); do - devname=$(sys2dev "${sysblock}") - [ -e "$devname" ] || continue - fstype=$(get_fstype "${devname}") - if /lib/udev/cdrom_id ${devname} > /dev/null; then - if check_dev "null" "${devname}" ; then - return 0 - fi - elif is_nice_device "${sysblock}" ; then - for dev in $(subdevices "${sysblock}"); do - if check_dev "${dev}" ; then - return 0 - fi - done - elif [ "${fstype}" = "squashfs" ]; then - # This is an ugly hack situation, the block device has - # an image directly on it. It's hopefully - # casper, so take it and run with it. - ln -s "${devname}" "${devname}.${fstype}" - echo "${devname}.${fstype}" - return 0 - fi - done - return 1 -} - -mountroot() -{ - local i livefs_root live_dest - - parse_cmdline - wait_for_udev 10 - - maybe_break casper-premount - log_begin_msg "Running /scripts/casper-premount" - run_scripts /scripts/casper-premount - log_end_msg - - # Scan local devices for the image - i=0 - while [ "$i" -lt 10 ]; do - livefs_root=$(find_livefs $i) - [ -n "${livefs_root}" ] && break - sleep 1 - i="$(($i + 1))" - done - - if [ -z "${livefs_root}" ]; then - panic "Unable to find a medium containing a live file system" - fi - - if [ "${TORAM}" ]; then - live_dest="ram" - elif [ "${TODISK}" ]; then - live_dest="${TODISK}" - fi - if [ "${live_dest}" ]; then - log_begin_msg "Copying live_media to ${live_dest}" - copy_live_to "${livefs_root}" "${live_dest}" - log_end_msg - fi - - mount_image_in_directory "${livefs_root}" "${rootmnt}" - - maybe_break casper-bottom - log_begin_msg "Running /scripts/casper-bottom" - run_scripts /scripts/casper-bottom - log_end_msg -} diff --git a/srcpkgs/xbps-casper/files/scripts/casper-bottom/05mountpoints b/srcpkgs/xbps-casper/files/scripts/casper-bottom/05mountpoints deleted file mode 100755 index 5a53736e285..00000000000 --- a/srcpkgs/xbps-casper/files/scripts/casper-bottom/05mountpoints +++ /dev/null @@ -1,27 +0,0 @@ -#!/bin/sh - -PREREQ="" -DESCRIPTION="Setting up /cdrom mountpoint" - -[ -r /scripts/functions ] && . /scripts/functions - -prereqs() -{ - echo "$PREREQ" -} - -case $1 in -# get pre-requisites -prereqs) - prereqs - exit 0 - ;; -esac - -log_begin_msg "$DESCRIPTION" - -# Move to the new root filesystem so that programs there can get at it. -mkdir -p /root/cdrom -mount -n -o move /cdrom /root/cdrom - -log_end_msg diff --git a/srcpkgs/xbps-casper/files/scripts/casper-bottom/10adduser b/srcpkgs/xbps-casper/files/scripts/casper-bottom/10adduser deleted file mode 100755 index bc852b770ba..00000000000 --- a/srcpkgs/xbps-casper/files/scripts/casper-bottom/10adduser +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh - -PREREQ="" -DESCRIPTION="Setting up live session user '$USERNAME'" - -[ -r /scripts/functions ] && . /scripts/functions - -prereqs() -{ - echo "$PREREQ" -} - -case $1 in -# get pre-requisites -prereqs) - prereqs - exit 0 - ;; -esac - -log_begin_msg "$DESCRIPTION" - -# U6aMy0wojraho is just a blank password -chroot ${rootmnt} useradd -c "$USERFULLNAME" -m $USERNAME \ - -G audio,video,wheel -p U6aMy0wojraho \ - -s ${USERNAME_SHELL:-/bin/sh} -if [ -f ${rootmnt}/etc/sudoers ]; then - echo "${USERNAME} ALL=(ALL) NOPASSWD: ALL" >> ${rootmnt}/etc/sudoers -fi - -log_end_msg diff --git a/srcpkgs/xbps-casper/files/scripts/casper-bottom/11keymap b/srcpkgs/xbps-casper/files/scripts/casper-bottom/11keymap deleted file mode 100755 index 97de320ed5c..00000000000 --- a/srcpkgs/xbps-casper/files/scripts/casper-bottom/11keymap +++ /dev/null @@ -1,48 +0,0 @@ -#! /bin/sh - -PREREQ="" -DESCRIPTION="Setting up system keymap" - -[ -r /scripts/functions ] && . /scripts/functions - -prereqs() -{ - echo "$PREREQ" -} - -case $1 in -# get pre-requisites -prereqs) - prereqs - exit 0 - ;; -esac - -log_begin_msg "$DESCRIPTION" - -# commandline -for x in $(cat /proc/cmdline); do - case $x in - keymap=*) - keymap=${x#keymap=} - set_keymap="true" - ;; - esac -done - -if [ "${set_keymap}" ]; then - sed -i -e "s|\(KEYMAP=\).*|\1${keymap}|" ${rootmnt}/etc/vconsole.conf -fi - -# Setup keymap for X.org evdev. -if [ -r "${rootmnt}/etc/udev/rules.d/75-x11-input.rules" ]; then - sed -i -e "s|\(ENV{xkblayout}\=\)\"us\"|\1\"${keymap}\"|" \ - ${rootmnt}/etc/udev/rules.d/75-x11-input.rules -fi - -# Setup keymap for lightdm. -if [ -r "${rootmnt}/etc/lightdm.conf" ]; then - sed -i -e "s|^\#\(layout=\).*|\1${keymap}|" ${rootmnt}/etc/lightdm.conf -fi - -log_end_msg diff --git a/srcpkgs/xbps-casper/files/scripts/casper-bottom/12fstab b/srcpkgs/xbps-casper/files/scripts/casper-bottom/12fstab deleted file mode 100755 index 689ff7647f3..00000000000 --- a/srcpkgs/xbps-casper/files/scripts/casper-bottom/12fstab +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/sh - -PREREQ="" -DESCRIPTION="Setting up /etc/fstab" -FSTAB=${rootmnt}/etc/fstab - -[ -r /scripts/functions ] && . /scripts/functions - -prereqs() -{ - echo "$PREREQ" -} - -case $1 in -# get pre-requisites -prereqs) - prereqs - exit 0 - ;; -esac - -log_begin_msg "$DESCRIPTION" - -cat > $FSTAB </dev/null | /bin/dd bs=10 count=1 2>/dev/null) || continue - - if [ "$magic" = "SWAPSPACE2" -o "$magic" = "SWAP-SPACE" ]; then -# log "Found $device" - devices="$devices $device" - fi -done - -for device in $devices; do - cat >> $FSTAB <> $GDMCustomFile - fi - sed -i "s/\[daemon\]/\[daemon\]\n$AutologinParameters/" $GDMCustomFile - fi -fi -# Configure lightdm autologin. Autologin doesn't seem to work -# with lightdm-0.2.3, will be enabled when it's fixed. -log_end_msg -exit 0 - -if [ -r ${rootmnt}/etc/lightdm.conf ]; then - sed -i -e "s|^\#\(default-user=\).*|\1$USERNAME|" \ - ${rootmnt}/etc/lightdm.conf - sed -i -e "s|^\#\(default-user-timeout=\).*|\10|" \ - ${rootmnt}/etc/lightdm.conf -fi - -log_end_msg diff --git a/srcpkgs/xbps-casper/files/scripts/casper-bottom/18hostname b/srcpkgs/xbps-casper/files/scripts/casper-bottom/18hostname deleted file mode 100755 index e074ba15582..00000000000 --- a/srcpkgs/xbps-casper/files/scripts/casper-bottom/18hostname +++ /dev/null @@ -1,39 +0,0 @@ -#! /bin/sh - -PREREQ="" -DESCRIPTION="Setting up hostname" - -[ -r /scripts/functions ] && . /scripts/functions - -prereqs() -{ - echo "$PREREQ" -} - -case $1 in -# get pre-requisites -prereqs) - prereqs - exit 0 - ;; -esac - -log_begin_msg "$DESCRIPTION" - -echo "$HOST" > "${rootmnt}/etc/hostname" - -cat > ${rootmnt}/etc/hosts < ${rootmnt}/etc/PolicyKit/PolicyKit.conf - - - - - - - - - - - - - - - - -EOF - -mkdir -m0750 -p ${rootmnt}/var/lib/polkit-1/localauthority/10-vendor.d -cat << EOF > ${rootmnt}/var/lib/polkit-1/localauthority/10-vendor.d/10-live-cd.pkla -# Policy to allow the livecd user to bypass policykit -[Live CD user permissions] -Identity=unix-user:$USERNAME -Action=* -ResultAny=no -ResultInactive=no -ResultActive=yes -EOF - -log_end_msg diff --git a/srcpkgs/xbps-casper/files/scripts/casper-helpers b/srcpkgs/xbps-casper/files/scripts/casper-helpers deleted file mode 100644 index bcc8389e6fe..00000000000 --- a/srcpkgs/xbps-casper/files/scripts/casper-helpers +++ /dev/null @@ -1,130 +0,0 @@ -## Casper helper functions, used by casper on boot. - -MP_QUIET="-q" - -sys2dev() -{ - sysdev=${1#/sys} - echo "/dev/$(/sbin/udevadm info -q name -p ${sysdev} 2>/dev/null|| echo ${sysdev##*/})" -} - -subdevices() -{ - sysblock=$1 - r="" - for dev in "${sysblock}" "${sysblock}"/*; do - if [ -e "${dev}/dev" ]; then - r="${r} ${dev}" - fi - done - echo ${r} -} - -is_supported_fs() -{ - # FIXME: do something better like the scan of supported filesystems - fstype="${1}" - case ${fstype} in - vfat|iso9660|udf|ext2|ext3|ext4|ntfs) - return 0 - ;; - esac - return 1 -} - -get_fstype() -{ - /sbin/blkid -s TYPE -o value $1 2>/dev/null -} - -where_is_mounted() -{ - device=$1 - if grep -q "^$device " /proc/mounts; then - mountpoint="$(grep "^$device " /proc/mounts | awk '{print $2; exit}')" - grep "^$device " /proc/mounts | read d mountpoint rest - echo $mountpoint - return 0 - fi - return 1 -} - -fs_size() -{ - # Returns used/free fs kbytes + 5% more - # You could pass a block device as $1 or the mount point as $2 - - dev="${1}" - mountp="${2}" - used="${3}" - - if [ -z "${mountp}" ]; then - mountp=$(where_is_mounted "${dev}") - if [ "$?" -gt 0 ]; then - mountp="/mnt/tmp_fs_size" - mkdir -p "${mountp}" - mount -t $(get_fstype "${dev}") -o ro "${dev}" "${mountp}" - doumount=1 - fi - fi - - if [ "${used}" = "used" ]; then - size=$(du -ks ${mountp} | cut -f1) - size=$(expr ${size} + ${size} / 20 ) # FIXME: 5% more to be sure - else - # free space - size="$(df -k | grep -s ${mountp} | awk '{print $4}')" - fi - - if [ -n "${doumount}" ]; then - umount "${mountp}" - rmdir "${mountp}" - fi - echo "${size}" -} - -setup_loop() { - local fspath=$1 - local module=$2 - local pattern=$3 - local offset=$4 - - modprobe ${MP_QUIET} -b "$module" - /sbin/udevadm settle - - if [ "$module" = loop ]; then - if [ ! -e /dev/loop0 ]; then - # temporary workaround for kernel bug - for i in 0 1 2 3 4 5 6 7; do - mknod "/dev/loop$i" b 7 "$i" || true - done - fi - - dev="$(losetup -f)" - if [ "$dev" ]; then - if [ -n "$offset" ]; then - losetup -o "$offset" "$dev" "$fspath" - else - losetup "$dev" "$fspath" - fi - echo "$dev" - return 0 - else - panic "No loop devices available" - fi - else - for loopdev in $pattern; do - if [ "$(cat $loopdev/size)" -eq 0 ]; then - dev=$(sys2dev "${loopdev}") - if [ -n "$offset" ]; then - losetup -o "$offset" "$dev" "$fspath" - else - losetup "$dev" "$fspath" - fi - echo "$dev" - return 0 - fi - done - panic "No loop devices available" - fi -} diff --git a/srcpkgs/xbps-casper/template b/srcpkgs/xbps-casper/template deleted file mode 100644 index 19b10acd871..00000000000 --- a/srcpkgs/xbps-casper/template +++ /dev/null @@ -1,35 +0,0 @@ -# Template file for 'xbps-casper' -pkgname=xbps-casper -_localver=0.25 # XBPS package version -_distver=1.236 # This should match the upstream (Ubuntu) version -version=${_localver}.${_distver} -fulldepends="udev>=174 initramfs-tools" -short_desc="Run a live preinstalled system from read-only media" -maintainer="Juan RP " -license="GPL-2" -long_desc=" - $pkgname is a modified version of Ubuntu's casper, that is able - to run a live pre-installed system from read-only media." - -noextract=yes -noarch=yes -conf_files="/etc/casper.conf" - - -do_install() { - # /etc config files - vinstall ${FILESDIR}/casper.conf 644 etc - - # Helpers - install -d ${DESTDIR}/sbin - install -m755 ${FILESDIR}/bin/* ${DESTDIR}/sbin - - # initramfs-tools hooks/scripts - initramfsdir=${DESTDIR}/usr/share/initramfs-tools - install -d ${initramfsdir}/hooks ${initramfsdir}/scripts/casper-bottom - install -m755 ${FILESDIR}/hooks/* ${initramfsdir}/hooks - install -m755 ${FILESDIR}/scripts/casper-bottom/* \ - ${initramfsdir}/scripts/casper-bottom - install -m644 ${FILESDIR}/scripts/{casper,casper-helpers} \ - ${initramfsdir}/scripts -}