#!/bin/sh arAddFile() { SIZE=`ls -l $1 | awk '{print $5}'` printf '%-16s%-12s0 0 100644 %-10s`\n' $1 $TIMESTAMP $SIZE >> "$DEB" cat $1 >> "$DEB" if [ $((SIZE % 2)) = 1 ] then printf '\n' >> "$DEB" fi } PACKAGE=root WORKDIR=`mktemp -d /tmp/"$PACKAGE".XXXXXX` || exit 1 SUBDIR=$WORKDIR/sub mkdir "$SUBDIR" cd "$SUBDIR" tar -czf "$WORKDIR"/data.tar.gz . cat > "$SUBDIR"/changelog <<DELIM $PACKAGE (1.0) unstable; urgency=low * Automatically generated from script! -- nobody <nobody@example.com> `date -R` DELIM cat > "$SUBDIR"/control <<DELIM Source: $PACKAGE Section: user/admin Priority: extra Maintainer: nobody <nobody@example.com> Package: $PACKAGE Architecture: all Version: 1.0 Depends: Description: Adds basic rules for sudo: password-protected root access. DELIM cat > "$SUBDIR"/copyright <<DELIM These auto-generated package contents are in the public domain. DELIM cat > "$SUBDIR"/preinst <<DELIM #!/bin/sh patchSudoers() { sed -i ' 1 i root ALL = (ALL) NOPASSWD: ALL 1 i user ALL = (ALL) PASSWD: ALL /user ALL = NOPASSWD: \/usr\/sbin\/gainroot/ d ' "$1" } patchSudoers /etc/sudoers.d/01sudo patchSudoers /etc/sudoers passwd -d user osso-xterm passwd DELIM chmod +x "$SUBDIR"/preinst tar -czf "$WORKDIR"/control.tar.gz . cd "$WORKDIR" rm -r "$SUBDIR" printf '2.0\n' > debian-binary DEB="$WORKDIR"/"$PACKAGE".deb touch "$DEB" TIMESTAMP=`date +%s -r "$DEB"` printf '!<arch>\n' > "$DEB" arAddFile debian-binary arAddFile control.tar.gz arAddFile data.tar.gz rm debian-binary control.tar.gz data.tar.gz dbus-send --type=method_call --print-reply='' \ --dest=com.nokia.hildon_application_manager \ /com/nokia/hildon_application_manager \ com.nokia.hildon_application_manager.mime_open \ string:"$DEB"