Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add apt to dpup, as a layer above the main SFS #2779

Merged
merged 22 commits into from
Jan 23, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
a3e75e6
add apt to dpup, as a layer below the main SFS
dimkr Jan 18, 2022
72e2f5b
update dpup release notes
dimkr Jan 18, 2022
2348558
make it possible to build dpup without bdrv
dimkr Jan 19, 2022
3a5b963
optionally symlink directories at / to /usr
dimkr Jan 19, 2022
cba85b7
Merge branch 'feature/usr-merge-v2' of https://github.com/dimkr/woof-…
dimkr Jan 19, 2022
6158a2d
fix missing source
dimkr Jan 19, 2022
f714188
move packages needed to install Wine out of devx
dimkr Jan 19, 2022
8701166
Merge branch 'testing' of https://github.com/puppylinux-woof-CE/woof-…
dimkr Jan 20, 2022
17b9abb
restore missing icons in Synaptic
dimkr Jan 21, 2022
7bf7ea5
add support for automatic menu refresh when a .desktop is added or de…
dimkr Jan 21, 2022
cc79ac2
Merge branch 'feature/fixmenusd' into feature/dpup-apt
dimkr Jan 21, 2022
d2429c0
fix exit of fixmenusd after one apt install
dimkr Jan 21, 2022
c1fc797
cleanup
dimkr Jan 21, 2022
83a38c2
Merge branch 'testing' of https://github.com/puppylinux-woof-CE/woof-…
dimkr Jan 21, 2022
a239922
move ucf out of dpup devx
dimkr Jan 21, 2022
fc1d5b4
fix typo
dimkr Jan 21, 2022
72cc171
make bdrv smaller
dimkr Jan 22, 2022
2c95552
add passwd to fix apt failure when trying to add users or groups
dimkr Jan 22, 2022
8a2d829
in ISO builds, handle bdrv like docx and nlsx
dimkr Jan 22, 2022
6c5f14e
use the same /etc/{group,passwd,shadow} as before for all builds exce…
dimkr Jan 22, 2022
a005c1d
document the purpose of bdrv
dimkr Jan 22, 2022
8db32a3
bump the version number of dpup bullseye
dimkr Jan 22, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ jobs:
- name: Install 3builddistro dependencies
run: |
sudo apt-get update -qq
sudo apt-get install -y --no-install-recommends patchelf
sudo apt-get install -y --no-install-recommends patchelf debootstrap
- name: Install ARM 3builddistro dependencies
if: matrix.arch == 'arm'
run: |
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ jobs:
- name: Install 3builddistro dependencies
run: |
sudo apt-get update -qq
sudo apt-get install -y --no-install-recommends patchelf
sudo apt-get install -y --no-install-recommends patchelf debootstrap
- name: Install cdrtools
run: |
[ -f local-repositories/mkisofs ] || (curl -L https://sourceforge.net/projects/cdrtools/files/alpha/cdrtools-3.02a09.tar.bz2/download | tar -xjf- && cd cdrtools-3.02 && make -j`nproc` && mv mkisofs/OBJ/x86_64-linux-cc/mkisofs ../local-repositories/mkisofs)
Expand Down
5 changes: 5 additions & 0 deletions initrd-progs/0initrd/README.txt
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,11 @@ fdrv...sfs:
This contains firmware files. It can be used to override the contents of zdrv...sfs.
This file is present in only some Puppies.

bdrv...sfs:
This contains a basic installation or skeleton of the compatible distro.
With this file, more binary packages from the compatible distro repos are likely to work.
It is usually not present.

ydrv...sfs:
Notionally a patch file. It can be used to override the contents of puppy...sfs.
It is usually not present.
Expand Down
7 changes: 6 additions & 1 deletion merge2out
Original file line number Diff line number Diff line change
Expand Up @@ -288,11 +288,16 @@ else
echo "BUILD_FROM_WOOF=\"No woof-CE-git info available\"" >> ${WOOF_OUT}/DISTRO_SPECS
fi

# make sure target has these...
(
# make sure target has these...
cp -afv woof-arch/${TARGETARCH}/build/support/debdb2pupdb ${WOOF_OUT}/rootfs-skeleton/usr/local/petget/ 2>&1
cp -afv woof-arch/${TARGETARCH}/build/support/find_cat ${WOOF_OUT}/rootfs-skeleton/usr/local/petget/ 2>&1
cp -afv woof-arch/${TARGETARCH}/target/rootfs-skeleton/usr/sbin/pngoverlay-cairo ${WOOF_OUT}/support/ 2>&1

for CONFFILE in passwd shadow group; do
[ -f ${WOOF_OUT}/rootfs-skeleton/etc/${CONFFILE}.${COMPATDISTRO} ] && mv -vf ${WOOF_OUT}/rootfs-skeleton/etc/${CONFFILE}.${COMPATDISTRO} ${WOOF_OUT}/rootfs-skeleton/etc/${CONFFILE}
rm -f ${WOOF_OUT}/rootfs-skeleton/etc/${CONFFILE}.*
done
) | tee -a ${WOOF_OUT}/merge2out.log

echo
Expand Down
130 changes: 113 additions & 17 deletions woof-code/3builddistro
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ PKGLISTS_COMPAT="`echo "$PKG_DOCS_DISTRO_COMPAT" | tr ' ' '\n' | cut -f 3 -d '|'
PKGS_SPECS_TABLE="`echo "$PKGS_SPECS_TABLE" | grep -v '^#'`" # remove comments

export DISTRO_NAME DISTRO_VERSION DISTRO_COMPAT_VERSION
export BDRVSFS="bdrv_${DISTRO_FILE_PREFIX}_${DISTRO_VERSION}.sfs"
export PUPPYSFS="puppy_${DISTRO_FILE_PREFIX}_${DISTRO_VERSION}.sfs"
export ZDRVSFS="zdrv_${DISTRO_FILE_PREFIX}_${DISTRO_VERSION}.sfs"
export FDRVSFS="fdrv_${DISTRO_FILE_PREFIX}_${DISTRO_VERSION}.sfs"
Expand Down Expand Up @@ -66,13 +67,49 @@ rm -rf sandbox3/rootfs-complete
rm -rf sandbox3/devx
rm -rf sandbox3/docx ${DOCXSFS}
rm -rf sandbox3/nlsx ${NLSXSFS}
rm -rf sandbox3/adrv sandbox3/ydrv sandbox3/fdrv
rm -rf sandbox3/bdrv sandbox3/adrv sandbox3/ydrv sandbox3/fdrv
mkdir -p sandbox3/rootfs-complete/etc
mkdir -p sandbox3/devx
cp DISTRO_SPECS sandbox3/rootfs-complete/etc/

#copy the skeleton...
cp -a rootfs-skeleton/* sandbox3/rootfs-complete/

mergedir() {
if [ ! -e ${2} ]; then
mkdir -vp `dirname ${2}`
mv -v ${1} ${2} || exit 1
return
fi

echo "Merging ${1} with ${2}"

for NAME in `ls ${1} 2>/dev/null`; do
if [ -d ${1}/${NAME} ]; then
mergedir ${1}/${NAME} ${2}/${NAME}
else
rm -f ${2}/${NAME}
mv -vf ${1}/${NAME} ${2}/ || exit 1
fi
done

rmdir -v ${1} || exit 1
}

usrmerge() {
USRDIRS="bin sbin lib"
[ "$DISTRO_TARGETARCH" = "x86_64" ] && USRDIRS="$USRDIRS lib64 lib32 libx32"

for USRDIR in $USRDIRS; do
[ -d ${1}/${USRDIR} ] && mergedir ${1}/${USRDIR} ${1}/usr/${USRDIR}

if [ $2 -eq 1 ]; then
[ ! -e ${1}/usr/${USRDIR} ] && mkdir -v ${1}/usr/${USRDIR}
ln -vs usr/${USRDIR} ${1}/${USRDIR} || exit 1
fi
done
}

if [ "$XAUTOCONF" = 'yes' ];then
echo 'enabling xorg-autoconf'; sleep 1
chmod 755 sandbox3/rootfs-complete/usr/sbin/xorg-autoconf
Expand Down Expand Up @@ -151,7 +188,7 @@ and edit it to include your customised package list.
;;
change_kernels)
state=false
[ "$DISTRO_KERNEL_PET" = 'Huge_Kernel' -a "$ISOFLAG" ] && state=true
[ "$DISTRO_KERNEL_PET" = 'Huge_Kernel' -a "$ISOFLAG" -a "$USR_SYMLINKS" != "yes" ] && state=true
;;
simple_installer)
state=false
Expand Down Expand Up @@ -299,6 +336,7 @@ if [ "$BUILD_DEVX" = "yes" -o -n "$PETBUILDS" ] ; then
fi
done
rm -f /tmp/ALLGENNAMESD
[ "$USR_SYMLINKS" = "yes" ] && usrmerge sandbox3/devx 0
echo
fi

Expand Down Expand Up @@ -351,19 +389,22 @@ if [ -n "$ADRV_INCLUDE" -o -n "$FDRV_INCLUDE" -o -n "$YDRV_INCLUDE" ];then
echo '#!/bin/sh' > sandbox3/apinstall.sh
mkdir -p sandbox3/adrv/usr/local/bin
copy_pkgs_to_build "${ADRV_INC}" adrv
[ "$USR_SYMLINKS" = "yes" ] && usrmerge sandbox3/adrv 0
chmod 755 sandbox3/apinstall.sh
echo;;
fdrv)
echo '#!/bin/sh' > sandbox3/fpinstall.sh
mkdir -p sandbox3/fdrv/
copy_pkgs_to_build "${FDRV_INC}" fdrv
[ "$USR_SYMLINKS" = "yes" ] && usrmerge sandbox3/fdrv 0
chmod 755 sandbox3/fpinstall.sh
echo
CONF_DIR=no;;
ydrv)
echo '#!/bin/sh' > sandbox3/ypinstall.sh
mkdir -p sandbox3/ydrv/usr/local/bin
copy_pkgs_to_build "${YDRV_INC}" ydrv
[ "$USR_SYMLINKS" = "yes" ] && usrmerge sandbox3/ydrv 0
chmod 755 sandbox3/ypinstall.sh
echo;;
esac
Expand Down Expand Up @@ -580,6 +621,7 @@ else
NEWVARIABLES="#Puppy default filenames...
#Note, the 'SFS' files below are what the 'init' script in initrd.gz searches for,
#for the partition, path and actual files loaded, see PUPSFS and ZDRV in /etc/rc.d/PUPSTATE
DISTRO_BDRVSFS='${BDRVSFS}'
DISTRO_PUPPYSFS='${PUPPYSFS}'
DISTRO_ZDRVSFS='${ZDRVSFS}'
DISTRO_FDRVSFS='${FDRVSFS}'
Expand Down Expand Up @@ -756,19 +798,23 @@ fi

#shared library loading...
mkdir -p rootfs-complete/etc/ld.so.conf.d/ # may not be there
( # > rootfs-complete/etc/ld.so.conf
echo 'include /etc/ld.so.conf.d/*.conf'
echo "/lib${lsuffix}"
echo "/usr/lib${lsuffix}"
if [ "$ARCHDIR" = "x86_64-linux-gnu" ] ; then #WOOF_TARGETARCH='x86_64'
echo "/lib64"
echo "/usr/lib64"
echo -e "/lib64\n/usr/lib64" > rootfs-complete/etc/ld.so.conf.d/lib64.conf
fi
[ -d rootfs-complete/usr/local/lib${lsuffix} ] && echo "/usr/local/lib${lsuffix}"
[ -d rootfs-complete/opt/qt4/lib${lsuffix} ] && echo "/opt/qt4/lib${lsuffix}"
echo "/root/my-applications/lib"
) > rootfs-complete/etc/ld.so.conf
if [ "$USR_SYMLINKS" = "yes" ];then
echo "/root/my-applications/lib" > rootfs-complete/etc/ld.so.conf.d/my-applications.conf
else
( # > rootfs-complete/etc/ld.so.conf
echo 'include /etc/ld.so.conf.d/*.conf'
echo "/lib${lsuffix}"
echo "/usr/lib${lsuffix}"
if [ "$ARCHDIR" = "x86_64-linux-gnu" ] ; then #WOOF_TARGETARCH='x86_64'
echo "/lib64"
echo "/usr/lib64"
echo -e "/lib64\n/usr/lib64" > rootfs-complete/etc/ld.so.conf.d/lib64.conf
fi
[ -d rootfs-complete/usr/local/lib${lsuffix} ] && echo "/usr/local/lib${lsuffix}"
[ -d rootfs-complete/opt/qt4/lib${lsuffix} ] && echo "/opt/qt4/lib${lsuffix}"
echo "/root/my-applications/lib"
) > rootfs-complete/etc/ld.so.conf
fi

echo "Updating system config.."
mkdir -p rootfs-complete/var/cache/fontconfig
Expand Down Expand Up @@ -962,17 +1008,63 @@ fi

if [ "$BUILD_SFS" = 'yes' ]; then
sh $MWD/support/files2delete.sh rootfs-complete
[ "$USR_SYMLINKS" = "yes" ] && usrmerge rootfs-complete 1

if [ "${DISTRO_BINARY_COMPAT}" = 'debian' -a "$BUILD_BDRV" = 'yes' ]; then
if [ "$ISOFLAG" -o "$FRUGALIFY" ]; then
echo "Now building sandbox3/bdrv"
$MWD/support/bdrv.sh || exit 1
fi
fi

#build the rootfs-complete sfs...
echo -e "\nNow building the main f.s., ${PUPPYSFS}..."
rm -f build/${PUPPYSFS} 2>/dev/null
mksquashfs rootfs-complete build/${PUPPYSFS} ${SFSCOMP} #100911 110713
###########
if [ -d adrv -o -d fdrv -o -d ydrv ];then
if [ "$USR_SYMLINKS" = "yes" ]; then
KSFSCOMP="$SFSCOMP"

if [ -f build/${ZDRVSFS} ]; then
echo -e "\nNow building the zdrv f.s., $ZDRVSFS ..."
rm -rf zdrv
unsquashfs -d zdrv build/${ZDRVSFS}
rm -f build/${ZDRVSFS}

# use the same mksquashfs options used by kernel-kit
KSFSCOMP=`sh -c '. $(ls zdrv/etc/modules/build.conf-* 2>/dev/null) 2>/dev/null && echo "$COMP"'`
[ -z "$KSFSCOMP" ] && KSFSCOMP="$SFSCOMP"

usrmerge zdrv 0

if [ "$ARCHDIR" = "x86_64-linux-gnu" -a -d zdrv/usr/lib64 -a ! -e zdrv/usr/lib/${ARCHDIR} ]; then
mkdir -vp zdrv/usr/lib
mv -v zdrv/usr/lib64 zdrv/usr/lib/${ARCHDIR}
fi

mksquashfs zdrv build/${ZDRVSFS} ${KSFSCOMP}
[ -n "$GITHUB_ACTIONS" ] && rm -rf zdrv
fi

if [ -f build/${FDRVSFS} ]; then
echo -e "\nNow building the fdrv f.s., $FDRVSFS ..."
rm -rf fdrv
unsquashfs -d fdrv build/${FDRVSFS}
rm -f build/${FDRVSFS}

usrmerge fdrv 0
mksquashfs fdrv build/${FDRVSFS} ${KSFSCOMP}
[ -n "$GITHUB_ACTIONS" ] && rm -rf fdrv
fi
fi
###########
if [ -d bdrv -o -d adrv -o -d fdrv -o -d ydrv ];then
#build the {a,f,y}drive sfs...
for SYS_SFS in adrv fdrv ydrv
for SYS_SFS in bdrv adrv fdrv ydrv
do
[ ! -d "$SYS_SFS" ] && echo "no $SYS_SFS" && continue
case $SYS_SFS in
bdrv) TYPE_SYS_SFS="${BDRVSFS}";;
adrv) TYPE_SYS_SFS="${ADRVSFS}";;
fdrv) TYPE_SYS_SFS="${FDRVSFS}";;
ydrv) TYPE_SYS_SFS="${YDRVSFS}";;
Expand Down Expand Up @@ -1100,6 +1192,10 @@ if [ "$SDFLAG" = "" -a "$CROSFLAG" = "" ] ; then #120506
mv -f ${NLSXSFS} ../${WOOF_OUTPUT}/
( cd ../${WOOF_OUTPUT} ; md5sum ${NLSXSFS} > ${NLSXSFS}.md5.txt )
fi
if [ -f build/${BDRVSFS} ] ; then
mv -f build/${BDRVSFS} ../${WOOF_OUTPUT}/
( cd ../${WOOF_OUTPUT} ; md5sum ${BDRVSFS} > ${BDRVSFS}.md5.txt )
fi

echo "Running ../support/mk_iso.sh"
../support/mk_iso.sh || exit 1
Expand Down
4 changes: 2 additions & 2 deletions woof-code/packages-templates/dbus_FIXUPHACK
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,9 @@ case $DISTRO_BINARY_COMPAT in
echo '# newer slackware dbus needs system user "polkitd"
if [ -f etc/dbus-1/system.d/org.freedesktop.PolicyKit1.conf ];then
if grep -q "polkitd" etc/dbus-1/system.d/org.freedesktop.PolicyKit1.conf ;then
chroot . addgroup -g 87 -S polkitd
chroot . busybox addgroup -g 87 -S polkitd
sleep 1
chroot . adduser -S -D -H -h /var/lib/polkit -u 87 -s /bin/false -G polkitd polkitd
chroot . busybox adduser -S -D -H -h /var/lib/polkit -u 87 -s /bin/false -G polkitd polkitd
echo "Adding policy kit user"
fi
fi' > pinstall.sh
Expand Down
8 changes: 4 additions & 4 deletions woof-code/packages-templates/pulseaudio_FIXUPHACK
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
echo '
echo "Configuring Pulseaudio"
rm -f usr/share/applications/defaultaudiomixer.desktop usr/share/applications/ALSA-sound-Wizard.desktop usr/sbin/alsawizard
chroot . addgroup pulse
chroot . addgroup pulse-access
chroot . adduser -D -s /bin/false -g 'PulseAudio' -G audio -h /var/run/pulse pulse 2>/dev/null
chroot . passwd -d pulse 2>/dev/null' > pinstall.sh
chroot . busybox addgroup pulse
chroot . busybox addgroup pulse-access
chroot . busybox adduser -D -s /bin/false -g 'PulseAudio' -G audio -h /var/run/pulse pulse 2>/dev/null
chroot . busybox passwd -d pulse 2>/dev/null' > pinstall.sh

# add a yad volume control notification icon 'ppavol', requires pavucontrol
mkdir -p usr/local/bin
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
[Desktop Entry]
Version=1.0
Name=fixmenusd
Comment=fixmenus daemon
Exec=fixmenusd "fixmenus; jwm -reload; killall -HUP labwc"
Terminal=false
Type=Application