diff --git a/README.md b/README.md index e1f6ffc..baf85cb 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,6 @@ # partimage +Partition Image is a Linux/UNIX utility which saves partitions in many formats (see below) to an image file. +The image file can be compressed in the GZIP/BZIP2 formats to save disk space, and split into multiple files to be copied on removable floppies (ZIP for example). +Partitions can be saved across the network since version 0.6.0. + diff --git a/mkinstalldirs b/mkinstalldirs new file mode 100644 index 0000000..6fbe5e1 --- /dev/null +++ b/mkinstalldirs @@ -0,0 +1,150 @@ +#! /bin/sh +# mkinstalldirs --- make directory hierarchy + +scriptversion=2004-02-15.20 + +# Original author: Noah Friedman +# Created: 1993-05-16 +# Public domain. +# +# This file is maintained in Automake, please report +# bugs to or send patches to +# . + +errstatus=0 +dirmode="" + +usage="\ +Usage: mkinstalldirs [-h] [--help] [--version] [-m MODE] DIR ... + +Create each directory DIR (with mode MODE, if specified), including all +leading file name components. + +Report bugs to ." + +# process command line arguments +while test $# -gt 0 ; do + case $1 in + -h | --help | --h*) # -h for help + echo "$usage" + exit 0 + ;; + -m) # -m PERM arg + shift + test $# -eq 0 && { echo "$usage" 1>&2; exit 1; } + dirmode=$1 + shift + ;; + --version) + echo "$0 $scriptversion" + exit 0 + ;; + --) # stop option processing + shift + break + ;; + -*) # unknown option + echo "$usage" 1>&2 + exit 1 + ;; + *) # first non-opt arg + break + ;; + esac +done + +for file +do + if test -d "$file"; then + shift + else + break + fi +done + +case $# in + 0) exit 0 ;; +esac + +# Solaris 8's mkdir -p isn't thread-safe. If you mkdir -p a/b and +# mkdir -p a/c at the same time, both will detect that a is missing, +# one will create a, then the other will try to create a and die with +# a "File exists" error. This is a problem when calling mkinstalldirs +# from a parallel make. We use --version in the probe to restrict +# ourselves to GNU mkdir, which is thread-safe. +case $dirmode in + '') + if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then + echo "mkdir -p -- $*" + exec mkdir -p -- "$@" + else + # On NextStep and OpenStep, the `mkdir' command does not + # recognize any option. It will interpret all options as + # directories to create, and then abort because `.' already + # exists. + test -d ./-p && rmdir ./-p + test -d ./--version && rmdir ./--version + fi + ;; + *) + if mkdir -m "$dirmode" -p --version . >/dev/null 2>&1 && + test ! -d ./--version; then + echo "mkdir -m $dirmode -p -- $*" + exec mkdir -m "$dirmode" -p -- "$@" + else + # Clean up after NextStep and OpenStep mkdir. + for d in ./-m ./-p ./--version "./$dirmode"; + do + test -d $d && rmdir $d + done + fi + ;; +esac + +for file +do + set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` + shift + + pathcomp= + for d + do + pathcomp="$pathcomp$d" + case $pathcomp in + -*) pathcomp=./$pathcomp ;; + esac + + if test ! -d "$pathcomp"; then + echo "mkdir $pathcomp" + + mkdir "$pathcomp" || lasterr=$? + + if test ! -d "$pathcomp"; then + errstatus=$lasterr + else + if test ! -z "$dirmode"; then + echo "chmod $dirmode $pathcomp" + lasterr="" + chmod "$dirmode" "$pathcomp" || lasterr=$? + + if test ! -z "$lasterr"; then + errstatus=$lasterr + fi + fi + fi + fi + + pathcomp="$pathcomp/" + done +done + +exit $errstatus + +# Local Variables: +# mode: shell-script +# sh-indentation: 2 +# eval: (add-hook 'write-file-hooks 'time-stamp) +# time-stamp-start: "scriptversion=" +# time-stamp-format: "%:y-%02m-%02d.%02H" +# time-stamp-end: "$" +# End: diff --git a/partimage-0.6.7-gcc43.patch b/partimage-0.6.7-gcc43.patch new file mode 100644 index 0000000..af37ee1 --- /dev/null +++ b/partimage-0.6.7-gcc43.patch @@ -0,0 +1,36 @@ +diff -Naurp partimage-0.6.7-orig/src/shared/net.h partimage-0.6.7/src/shared/net.h +--- partimage-0.6.7-orig/src/shared/net.h 2008-02-03 15:57:55.000000000 -0600 ++++ partimage-0.6.7/src/shared/net.h 2008-07-16 20:04:02.000000000 -0600 +@@ -28,7 +28,7 @@ + #include + #include + #include +-#include ++#include + #include + + #include "pathnames.h" +diff -Naurp partimage-0.6.7-orig/src/server/partimaged.cpp partimage-0.6.7/src/server/partimaged.cpp +--- partimage-0.6.7-orig/src/server/partimaged.cpp 2008-02-03 15:57:53.000000000 -0600 ++++ partimage-0.6.7/src/server/partimaged.cpp 2008-07-16 20:10:04.000000000 -0600 +@@ -22,7 +22,7 @@ + + #include + #include +-#include ++#include + + #include "net.h" + #include "netserver.h" +diff -Naurp partimage-0.6.7-orig/src/server/partimaged-main.cpp partimage-0.6.7/src/server/partimaged-main.cpp +--- partimage-0.6.7-orig/src/server/partimaged-main.cpp 2008-02-03 15:57:53.000000000 -0600 ++++ partimage-0.6.7/src/server/partimaged-main.cpp 2008-07-16 20:10:45.000000000 -0600 +@@ -27,7 +27,7 @@ + + #include + #include +-#include ++#include + #include + #include + #include diff --git a/partimage-0.6.7-gcc44.patch b/partimage-0.6.7-gcc44.patch new file mode 100644 index 0000000..c8b2fed --- /dev/null +++ b/partimage-0.6.7-gcc44.patch @@ -0,0 +1,12 @@ +diff -Naur partimage-0.6.7/src/client/misc.cpp partimage-0.6.7-new/src/client/misc.cpp +--- partimage-0.6.7/src/client/misc.cpp 2008-02-03 19:58:00.000000000 -0200 ++++ partimage-0.6.7-new/src/client/misc.cpp 2009-02-26 12:57:45.000000000 -0300 +@@ -2372,7 +2372,7 @@ + + static char *sfdisk_line_to_partition_device(const char *line) + { +- if (char *p = strchr(line, ':')) { ++ if (const char *p = strchr(line, ':')) { + while (p[-1] == ' ' && p > line) p--; + return strndup(line, p - line); + } else { diff --git a/partimage.spec b/partimage.spec new file mode 100644 index 0000000..9bb944e --- /dev/null +++ b/partimage.spec @@ -0,0 +1,98 @@ +%define partimag_uid 65027 +%define partimag_gid 65027 +Name: partimage +Release: 1mamba +Version: 0.6.9 +Summary: A Linux/UNIX utility which saves partitions in many formats +Group: System/Tools +Vendor: openmamba +Distribution: openmamba +Packager: Silvan Calarco +URL: http://www.partimage.org +Source: http://downloads.sourceforge.net/project/partimage/stable/%{version}/%{name}-%{version}.tar.bz2 +Source1: mkinstalldirs +Patch0: %{name}-0.6.7-gcc43.patch +Patch1: %{name}-0.6.7-gcc44.patch +License: GPL +## AUTOBUILDREQ-BEGIN +BuildRequires: glibc-devel +BuildRequires: libbzip2-devel +BuildRequires: libgcc +BuildRequires: libnewt-devel +BuildRequires: libopenssl-devel +BuildRequires: libslang-devel +BuildRequires: libstdc++6-devel +BuildRequires: libz-devel +## AUTOBUILDREQ-END +BuildRoot: %{_tmppath}/%{name}-%{version}-root + +%description +Partition Image is a Linux/UNIX utility which saves partitions in many formats (see below) to an image file. +The image file can be compressed in the GZIP/BZIP2 formats to save disk space, and split into multiple files to be copied on removable floppies (ZIP for example). +Partitions can be saved across the network since version 0.6.0. + +%prep +%setup -q +#%patch0 -p1 +#%patch1 -p1 +cp %{SOURCE1} . + +%build +%configure +%make +make pamfile + +%install +test x%{buildroot} != x/ && rm -rf %{buildroot} +sed -i "s|partimag\.root|`id -u`\.`id -g`|" Makefile +%makeinstall + +%find_lang %{name} + +%clean +test x%{buildroot} != x/ && rm -rf %{buildroot} + +%pre +if [ $1 -ge 1 ]; then +# new install or update + getent group partimag >/dev/null || groupadd partimag -g %{partimag_gid} + getent passwd partimag >/dev/null || + useradd partimag -c "Partimage User" -d /dev/null \ + -s /bin/false -u %{partimag_uid} -g %{partimag_gid} > /dev/null +fi +exit 0 + +%preun +#erase +if [ $1 -eq 0 ]; then + userdel partimag >/dev/null|| true +fi +exit 0 + +%files -f %{name}.lang +%defattr(-,root,root) +%doc AUTHORS COPYING ChangeLog INSTALL README README.partimaged THANKS +%{_sbindir}/* +%attr(0600,partimag,partimag) %{_sysconfdir}/partimaged/partimagedusers +%exclude %{_datadir}/doc/partimage/* + +%changelog +* Mon Aug 09 2010 Automatic Build System 0.6.9-1mamba +- automatic update by autodist + +* Sun Oct 25 2009 Automatic Build System 0.6.8-1mamba +- update to 0.6.8 + +* Mon Jul 13 2009 Silvan Calarco 0.6.7-2mamba +- rebuilt with libnewt 0.52 + +* Wed Apr 02 2008 Silvan Calarco 0.6.7-1mamba +- update to 0.6.7 +- ssl re-enabled + +* Tue Feb 15 2005 Silvan Calarco 0.6.4-2qilnx +- rebuilt with ssl disabled +- added default user and proper permissions for partimaged to work + +* Mon Oct 04 2004 Silvan Calarco 0.6.4-1qilnx +- package created by autospec