mirror of
https://github.com/acedanger/shell.git
synced 2025-12-06 10:00:11 -08:00
feat: Enhance package detection and installation process with improved parsing and validation
This commit is contained in:
@@ -11,10 +11,20 @@ ENV DEBIAN_FRONTEND=noninteractive
|
||||
ARG APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=1
|
||||
|
||||
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone \
|
||||
&& apt-get update && apt-get install -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confnew" -y curl git sudo wget
|
||||
&& apt-get update && apt-get install -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confnew" -y \
|
||||
curl git sudo wget
|
||||
|
||||
# Pre-install cowsay and lolcat packages for testing
|
||||
RUN apt-get update && apt-get install -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confnew" -y cowsay lolcat
|
||||
# Pre-install essential packages from packages.list for faster testing
|
||||
RUN apt-get update && apt-get install -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confnew" -y \
|
||||
python3 \
|
||||
bat \
|
||||
cowsay \
|
||||
lolcat \
|
||||
fzf \
|
||||
zsh \
|
||||
nala \
|
||||
fd-find \
|
||||
eza
|
||||
|
||||
# Create logs directory with proper permissions
|
||||
RUN mkdir -p /logs && chmod -R 777 /logs
|
||||
@@ -28,15 +38,21 @@ WORKDIR /home/testuser
|
||||
|
||||
# Create directory structure for shell setup
|
||||
RUN mkdir -p /home/testuser/shell/setup
|
||||
RUN mkdir -p /home/testuser/shell/dotfiles
|
||||
|
||||
# Copy test script, startup script, and packages.list
|
||||
COPY --chown=testuser:testuser test-setup.sh /home/testuser/
|
||||
# Copy all necessary setup files
|
||||
COPY --chown=testuser:testuser test-setup.sh /home/testuser/shell/setup/
|
||||
COPY --chown=testuser:testuser startup.sh /home/testuser/
|
||||
COPY --chown=testuser:testuser packages.list /home/testuser/shell/
|
||||
COPY --chown=testuser:testuser setup.sh /home/testuser/shell/setup/
|
||||
COPY --chown=testuser:testuser bootstrap.sh /home/testuser/shell/setup/
|
||||
COPY --chown=testuser:testuser packages.list /home/testuser/shell/setup/
|
||||
COPY --chown=testuser:testuser my-aliases.zsh.template /home/testuser/shell/dotfiles/
|
||||
|
||||
# Make scripts executable
|
||||
RUN chmod +x /home/testuser/test-setup.sh
|
||||
RUN chmod +x /home/testuser/shell/setup/test-setup.sh
|
||||
RUN chmod +x /home/testuser/startup.sh
|
||||
RUN chmod +x /home/testuser/shell/setup/setup.sh
|
||||
RUN chmod +x /home/testuser/shell/setup/bootstrap.sh
|
||||
|
||||
CMD ["/bin/bash", "-c", "./startup.sh"]
|
||||
|
||||
@@ -67,14 +83,20 @@ WORKDIR /home/testuser
|
||||
|
||||
# Create directory structure for shell setup
|
||||
RUN mkdir -p /home/testuser/shell/setup
|
||||
RUN mkdir -p /home/testuser/shell/dotfiles
|
||||
|
||||
# Copy test script, startup script, and packages.list
|
||||
COPY --chown=testuser:testuser test-setup.sh /home/testuser/
|
||||
COPY --chown=testuser:testuser startup.sh /home/testuser/
|
||||
COPY --chown=testuser:testuser packages.list /home/testuser/shell/
|
||||
# Copy all necessary setup files
|
||||
COPY --chown=testuser:testuser test-setup.sh /home/testuser/shell/setup/
|
||||
COPY --chown=testuser:testuser startup.sh /home/testuser/
|
||||
COPY --chown=testuser:testuser setup.sh /home/testuser/shell/setup/
|
||||
COPY --chown=testuser:testuser bootstrap.sh /home/testuser/shell/setup/
|
||||
COPY --chown=testuser:testuser packages.list /home/testuser/shell/setup/
|
||||
COPY --chown=testuser:testuser my-aliases.zsh.template /home/testuser/shell/dotfiles/
|
||||
|
||||
# Make scripts executable
|
||||
RUN chmod +x /home/testuser/test-setup.sh
|
||||
RUN chmod +x /home/testuser/shell/setup/test-setup.sh
|
||||
RUN chmod +x /home/testuser/startup.sh
|
||||
RUN chmod +x /home/testuser/shell/setup/setup.sh
|
||||
RUN chmod +x /home/testuser/shell/setup/bootstrap.sh
|
||||
|
||||
CMD ["/bin/bash", "-c", "./startup.sh"]
|
||||
|
||||
Reference in New Issue
Block a user